基于Identity Server 3实现单用户多客户端多角色认证服务器
看起来你在IdentityServer3搭建认证服务的路上已经走得很顺畅了!针对你给出的内存存储版Scope配置代码,我帮你做了规范的格式化,同时补充一些实用的细节:
内存存储版Scope配置代码
var scopes = new List<IdentityServer3.Core.Models.Scope> { // 标准身份相关Scope(对应OIDC协议核心字段) StandardScopes.OpenId, StandardScopes.Profile, StandardScopes.Roles, StandardScopes.Address, StandardScopes.Phone };
补充说明
- 你配置的这些都是IdentityServer3内置的标准身份Scope,它们会对应返回OIDC协议定义的核心用户身份Claim,比如
OpenId用于标识用户唯一身份,Profile会返回昵称、姓名等个人信息 - 如果需要添加自定义的API访问Scope,只需要在列表中新增
Scope实例即可,示例如下:
new Scope { Name = "api.read", DisplayName = "API只读访问权限", Description = "授予对业务API的只读访问权限", Type = ScopeType.Resource, // 可以绑定自定义Claim Claims = new List<ScopeClaim> { new ScopeClaim("permission:read") } }
- 内存存储的方式非常适合开发测试阶段,你已经实现的数据库存储方案更适合生产环境,能更灵活地管理Scope的增删改查
内容的提问来源于stack exchange,提问作者Pruthviraj Mohite
相关产品推荐
相关产品推荐

