这是一项非常简单的任务,但由于我对OIDC和安全性也很陌生,这让我很困惑。
我有IdentityServer3的实例和在服务器上创建的客户端。它利用混合流。我知道它是隐式代码流和auth代码流之间的东西,所以我假设我可以使用authorization_code或隐式授权类型,但显然不是。如何通过邮递员获取访问令牌?
我目前的要求:
我目前的回应: {
"error": "invalid_scope"
}
提前致谢。
答案 0 :(得分:1)
您是否为客户指定了 AllowedScopes ?
AllowedScopes = new List<string>
{
"openid", "profile", "otherScopes"
}
或者您现在可以只允许所有范围
AllowAccessToAllScopes = true
要从Postman获取访问令牌,您需要先为邮递员设置客户端,为其使用AuthorizationCode Flow
new Client
{
ClientName = "Postman",
ClientId = "postman",
Flow = Flows.AuthorizationCode,
AccessTokenLifetime = 43200,
RedirectUris = new List<string>
{
"https://www.getpostman.com/oauth2/callback"
},
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
AllowAccessToAllScopes = true
RequireConsent = false
}
现在在Postmant中抓取令牌
验证网址:https://yourIdenityServerAddress/identity/connect/authorize
令牌网址:https://yourIdenityServerAddress/identity/connect/token