我设置了一台Identity Server 4服务器。在身份服务器3中,我们可以使用端点,因此我们可以执行以下操作:
POST /connect/accesstokenvalidation
token=<token>
我认为它在身份服务器4上是相同的,但我得到了404 NOT FOUND
。然后我进入:http://my-endpoint.com/.well-known/openid-configuration
并且端点不存在。
我应该在身份服务器4上设置一些东西吗?
答案 0 :(得分:3)
POST /connect/introspect
Authorization: Basic xxxyyy
token=<token>
要自动调整,请使用HTTP基本授权流程:组合<scope>:<scope_secret>
对并将其转换为Base64编码的字符串(上例中为xxxyyy
)。可以在ApiResource定义中指定scope_secret
值:
new ApiResource("myapi, "My API")
{
Scopes = {new Scope("post-myapi")},
ApiSecrets = new List<Secret> {new Secret("any_string_you_like".Sha256())},
}
然后,上面的POST请求应该返回类似于:
的响应{
"nbf": 1491850954,
"exp": 1491854554,
"iss": "api-auth",
"aud": [
"api-auth/resources",
"myapi"
],
"client_id": "foo",
"scope": "post-myapi",
"active": true
}
完整请求(从Postman复制):
POST /connect/introspect HTTP/1.1
Host: localhost:6000
Authorization: Basic YXBpLWlzc3VlczpzY29wZVNlY3JldA==
Content-Type: application/x-www-form-urlencoded
token=.......