IdSrv4 - 访问令牌验证器端点

IdSrv4 - Access Token Validator EndPoint

我设置了一个 Identity Server 4 服务器。在身份服务器 3 中,我们有可用的端点,因此我们可以执行以下操作:

POST /connect/accesstokenvalidation

token=<token>

我以为它在身份服务器 4 上是一样的,但我得到了 404 NOT FOUND。然后我输入:http://my-endpoint.com/.well-known/openid-configuration 端点不存在。

我是否应该设置一些东西以使其在身份服务器 4 上可用?

Introspection Endpoint.

POST /connect/introspect
Authorization: Basic xxxyyy

token=<token>

要自动授权,请使用 HTTP 基本授权流程:组合 <scope>:<scope_secret> 对并将其转换为 Base64 编码的字符串(上例中的 xxxyyy)。 scope_secret值可以在ApiResource定义中指定:

new ApiResource("myapi, "My API")
{
    Scopes = {new Scope("post-myapi")},
    ApiSecrets = new List<Secret> {new Secret("any_string_you_like".Sha256())},
}

然后,上面的 POST 请求应该 return 响应类似于:

{
    "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=.......