как заменить субъект (sub) на секретную строку в id_token при openid connect?

библиотека oauth2:

https://github.com/Filsh/yii2-oauth2-server

https://github.com/bshaffer/oauth2-server-php

обратите внимание, что идентификатор пользователя в моей системе является целым числом, а не строкой.

моя цель просто скрыть системный идентификатор пользователя.

шаги для идентификатора токена:

http://bshaffer.github.io/oauth2-server-php-docs/overview/openid-connect/

{
"iss": "localhost",
"sub": 2,
"aud": "-7IloKCawcvBwRijJeo7nsLxx1chC68L",
"iat": 1514518157,
"exp": 1514521757,
"auth_time": 1514518157,
"nonce": "dfsdsdsd"}

md5('-7IloKCawcvBwRijJeo7nsLxx1chC68L' + 2) = 3C86CBBFF35AD3B6E609F5622D776531

я хочу заменить тему на md5 (client_id + subject)

{
"iss": "localhost",
"sub": "3C86CBBFF35AD3B6E609F5622D776531",
"aud": "-7IloKCawcvBwRijJeo7nsLxx1chC68L",
"iat": 1514516044,
"exp": 1514519644,
"auth_time": 1514516044,
"nonce": "dfsdsdsd"}

0

Решение

Если я понимаю ваше желание, поставщик OpenID может предоставить что-либо для субъекта, если он уникален для этого поставщика OpenID для конкретной проверяющей стороны.

SubID идентификатора OpenID Connect является идентификатором субъекта — это локально уникальный и никогда не назначаемый повторно идентификатор в эмитенте для аутентифицируемого объекта, который предназначен для использования клиентом OAuth.

Два типа идентификатора субъекта (subject_types_supported) определяются OpenID Connect и должны присутствовать в Метаданные провайдера OpenID:

общественности — предоставляет одинаковое значение sub (subject) для всех клиентов OAuth. Это значение по умолчанию, если поставщик не имеет элемента subject_types_supported в своем документе обнаружения.

попарно — предоставляет различное значение Sub для каждого клиента OAuth, чтобы клиент OAuth не связывал действия конечного пользователя без разрешения.

Документ OpenID Connect Discovery поставщика OpenID Connect ДОЛЖЕН перечислить поддерживаемые типы идентификаторов субъекта в элементе subject_types_supported.

Если в массиве указано более одного типа, клиент OAuth МОЖЕТ выбрать предоставление своего предпочтительного типа идентификатора с помощью параметра subject_type во время регистрации.

Sub не ДОЛЖЕН превышать 255 символов ASCII в длину.

Sub Sub value — чувствительная к регистру строка.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]