ASP.NET Core - AddJwtBearer - URL авторизации, как это работает? - PullRequest
0 голосов
/ 15 июня 2019

Один вопрос, который у меня возник недавно, о том, как работает промежуточное ПО JWT в ядре asp.net, связан с URL-адресом авторизации, который вы можете задать, если хотите проверять токены с помощью асимметричных ключей провайдеров идентификации (предположительно, на основе JWKS). Все примеры, которые я видел, совершенно не объясняют, каким должен быть этот авторитетный URL. В некоторых примерах auth0 говорится, что это всего лишь ваш домен auth0, но если это так, как промежуточное программное обеспечение находит открытый ключ по этому базовому URL? У каждого провайдера есть свое соглашение для конечной точки, где можно найти JWKS - так как это работает?

Мое требование заключается в том, что мне нужно использовать доменного провайдера идентификации, где конечная точка JWKS полностью отличается от auth0, okla, identity 4 или любых других провайдеров.

Существует ли какой-то стандартный механизм обнаружения, который используют все эти провайдеры, о котором я не знаю? Нужно ли иметь такой же механизм обнаружения, чтобы я мог использовать это промежуточное программное обеспечение?

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2019

Как правило, поставщик OpenID connects следует стандарту и предоставляет конечную точку обнаружения, которая включает в себя все необходимые конечные точки и информацию о местоположении открытого ключа.

Спецификация подключения OpenID: https://openid.net/specs/openid-connect-discovery-1_0.html

Auth0 предоставляет документы обнаружения OIDC (https://YOUR_DOMAIN/.well-known/openid-configuration).. Они могут использоваться для автоматической настройки приложений. https://auth0.com/docs/protocols/oidc/openid-connect-discovery

IdentityServer 4 позволяет включить дополнительную конечную точку в документ обнаружения. http://docs.identityserver.io/en/latest/topics/discovery.html

...