У меня есть Identity Server, который построен с использованием IdentityServer4.У IdentityServer4 есть API для проверки токена доступа?
У меня есть 2 приложения (1 .NET, 1 PHP), которые получают доступ к ресурсам друг друга и используют этот 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 могло вызывать его для аутентификации маркера доступа. Я google и не вижу никаких упоминаний об этом API.
Должен ли я писать новый API в приложении Identity Server для PHP или других приложений, а не .NET для проверки токена?
Ресурс доступа приложений .NET из приложения PHP, как показано ниже.
Я пытаюсь вызвать конечную точку introspect, но она всегда возвращает страницу входа в систему, это не объект, как в документе IdentityServer4, хотя мой granttype - ClientCredentials. –
Я не нашел библиотеку для проверки токена доступа в PHP. Я временно использую конечную точку интроспекции, и если я добавляю секрет в область действия, она работает хорошо. Большое спасибо. –