首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IdentityServer4具有aspnet核心的MVC OIDC认证- api范围限制?

IdentityServer4具有aspnet核心的MVC OIDC认证- api范围限制?
EN

Stack Overflow用户
提问于 2017-11-29 01:53:46
回答 1查看 420关注 0票数 0

我有一个MVC应用程序,它使用Microsoft.AspNetCore.Authentication.OpenIdConnect中间件来对抗IdS4 (核心1.1)。MVC使用身份验证后获得的访问令牌调用后端web。我使用的是“代码id_token”响应。我已经使用作用域对API进行了分段,但我有相当多的作用域,即15。当我构建OIDCoptions时,我添加了客户机所需的作用域:

代码语言:javascript
复制
oidOptions.Scope.Add("usersRead");           // Api scope
oidOptions.Scope.Add("usersWrite");          // Api scope

这件事做得很好。但是,我添加了另外两个作用域,现在IdS报告了当MVC对IdS进行OIDC挑战时,即在用户收到登录表单之前

不良请求

我可以从我的MVC应用程序的列表中删除任何两个作用域,然后它又开始工作了。这让我觉得可以请求的范围的数量有一些限制,或者URL长度有一些问题?我查看了OIDC中间件和IdS的源代码,找不到任何可以限制客户机可能请求的范围数量的东西。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-10 10:58:59

谢谢你的评论。在Azure Web应用程序中设置日志流之后,立即突出显示了问题。实际上,构成令牌请求的工件有一个字符串长度限制,特别是对于范围字符串300个字符。我们已经缩短了范围名称,现在一切都很好。

如需参考,请参阅:https://github.com/IdentityServer/IdentityServer4/blob/aspnetcore1/src/IdentityServer4/Configuration/DependencyInjection/Options/InputLengthRestrictions.cs

注意,这是针对dot v1.1的--对于v2.0也有类似的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47543807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档