作为响应的访问 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/