我有一个使用IdentityServer4构建的Identity Server。IdentityServer4是否有API来验证访问令牌?
我有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的文件提及。
是否必须在Identity Server应用程序中为PHP或其他非.NET应用程序编写新的API来验证令牌?
.NET应用程序如下访问来自PHP应用程序的资源。
我尝试调用introspect端点,但它始终返回登录页面,它不是文档中的对象IdentityServer4,虽然我的授权类型是ClientCredentials。 –
我还没有找到一个库来验证PHP中的访问令牌。我暂时使用内省端点,如果我在范围内添加秘密,它运作良好。非常感谢。 –