Есть ли у IdentityServer4 API для проверки токена доступа?

У меня есть Identity Server, который построен с использованием IdentityServer4.

У меня есть 2 приложения (1 .NET, 1 PHP), которые обращаются к ресурсам друг с другом и используют этот Identity Server для проверки токена доступа в заголовке запроса.

В приложении Identity Server я добавляю конфигурацию клиента, как показано ниже

clients.Add(
new Client
{
ClientId = "myClientId",
ClientName = "My Client Name",
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
AllowedGrantTypes = GrantTypes.ClientCredentials,
AllowedScopes = new List<string>
{
"php.es.api"}
});

Из приложения .NET я могу легко получить токен доступа, вызвав метод RequestClientCredentialsAsync с областью действия «php.es.api». Затем добавьте этот токен на предъявителя и отправьте запрос в PHP API.

Проблема в том, что я не знаю, имеет ли IdentityServer4 API, чтобы приложение PHP могло вызывать его для аутентификации токена доступа. Я гуглю и не нахожу никаких упоминаний об этом API.

Нужно ли писать новый API в приложении Identity Server для PHP или других приложений, отличных от .NET, для проверки токена?

.NET доступ к ресурсу приложения из приложения PHP, как показано ниже.

IdentityServer4

1

Решение

Существует стандартная конечная точка для этого называется конечная точка самоанализа и это поддерживается IdentityServer4. Лучше всего вам найти oauth-клиент в PHP, который сделает это. Если вы используете автономные токены-носители, вы можете проверять токены без необходимости обратной связи, поскольку токены-носители подписаны вашим провайдером, а у вашего провайдера есть ключи, указанные в документе обнаружения, необходимые для проверки токенов (/.well -known / конфигурация OpenID). Я не слишком знаком с PHP, чтобы указывать правильное направление относительно того, какие классные библиотеки могут быть там

1

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

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

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