identityserver4 oid 附加范围不出现请求?
Posted
技术标签:
【中文标题】identityserver4 oid 附加范围不出现请求?【英文标题】:identityserver4 oid additional scope not appear request? 【发布时间】:2018-04-17 11:53:09 【问题描述】:我目前正在关注关于身份服务器文档的本教程:
https://identityserver4.readthedocs.io/en/release/quickstarts/3_interactive_login.html
我想在同意页面添加额外的身份范围(电子邮件),问题是为什么客户端 OpenIdConnectOptions 中的范围是只读的?
services.AddAuthentication(options =>
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
)
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
options.SignInScheme = "Cookies";
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.Resource = "openid profile email";
**options.Scope= // why this readonly ?**
options.ClientId = "mvc";
options.SaveTokens = true;
);
这导致请求的范围仅配置文件和 openid。 http://localhost:5000/account/login?returnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dmvc%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A5002%252Fsignin-oidc%26resource%3Dopenid%2520profile%2520email%26response_type%3Did_token%26scope%3Dopenid%2520profile%26其余部分省略
有什么想法吗?
【问题讨论】:
【参考方案1】:在 IdentityServer4 v2 中,Scope 参数是一个集合。添加这样的范围:
options.Scope.Add("myscope");
【讨论】:
天哪,你说得对...非常简单,但我对只读感到困惑-.-以上是关于identityserver4 oid 附加范围不出现请求?的主要内容,如果未能解决你的问题,请参考以下文章
IdentityServer4 客户端范围和基于用户声明的授权