作为响应的访问 token 包含以下声明:

"alg": "RS256",
"kid": "143e829c2b57489969753ba4f8205979df0da988c640cffa5f1f4eda1b6e6aa4",
"typ": "JWT"
"nbf": 1481451903,
"exp": 1481455503,
"iss": "https://localhost:44350",
"aud": [ "https://localhost:44350/resources", "customAPI" ],
"client_id": "oauthClient",
"scope": [ "customAPI.read" ]

这是告诉我的应用程序使用IdentityServer进行身份验证的配置
app.UseIdentityServerAuthentication(
    new IdentityServerAuthenticationOptions
        {
            Authority = "https://localhost:44350/",
            ApiName = "customAPI",
            ApiSecret = "secret",
            AllowedScopes = {"customAPI.full_access", "customAPI.read_only" },
            RequireHttpsMetadata = false
        });

除了https://localhost:44350/(例如:http://192.168.1.20:44350/),我如何允许用户在IdentityServer的不同别名上进行身份验证?

目前,从后一个域获取的 token 在我的将“权限”设置为前一个域的客户端上被视为无效。

最佳答案

ConfigureServices方法中添加IdentityServer时,可以设置静态发行者名称。它位于传递给AddIdentityServer的选项上。

https://identityserver4.readthedocs.io/en/release/reference/options.html

关于authentication - 我们可以在Identity Server 4中设置静态发行者吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45581536/

10-10 12:26