首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用用户,而不是OIDC提供者分配给我的user_id / sub?

使用用户而不是OIDC提供者分配给我的user_id / sub的方法是通过自定义用户标识符来实现。以下是一种可能的方法:

  1. 创建自定义用户标识符:在用户注册或登录时,生成一个唯一的用户标识符,可以是一个随机生成的字符串或者是用户的邮箱、手机号等唯一标识。
  2. 存储用户标识符:将用户标识符与用户的其他信息一起存储在数据库中,以便后续使用。
  3. 用户认证和授权:在用户进行认证和授权时,使用自定义用户标识符来代替OIDC提供者分配的user_id / sub。这可以通过在认证请求中包含用户标识符来实现。
  4. 用户标识符的传递:在用户进行其他操作时,需要将用户标识符传递给相关的服务或系统。可以通过在请求的头部、参数或者身份验证令牌中包含用户标识符来传递。
  5. 数据关联:在服务或系统中,使用用户标识符来关联用户的数据和操作。例如,可以使用用户标识符来查询用户的个人信息、权限、历史记录等。
  6. 安全性考虑:在使用自定义用户标识符时,需要确保其安全性。可以采取一些安全措施,如使用加密算法对用户标识符进行加密、使用HTTPS协议传输用户标识符等。

总结起来,通过创建自定义用户标识符并将其与用户的其他信息关联,可以实现使用用户而不是OIDC提供者分配的user_id / sub。这样可以更灵活地管理用户,并根据需要进行个性化的处理和授权。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OIDC认证授权核心知识——高级开发必备

OIDC是在OAuth2基础上做了一个身份认证层,以便于客户端知晓授权终端用户(End User),在客户端获取access_token同时一并提供了一个用户身份认证信息Id Token。...OIDC协议簇图谱 Core[2] OIDC核心,定义了OIDC核心流程, 如何在 OAuth 2.0 之上身份验证以及使用声明来传达有关最终用户(EU)信息 。...Discovery[3] 定义客户端如何动态发现有关 OpenID 提供者(OP)信息。 Dynamic Registration[4] 定义客户端如何动态注册到 OpenID 提供者。...OIDC核心流程 OIDC 被抽象为以下5个步骤,如图: OIDC流程图 ① RP(客户端)向 OpenID 提供者(OP)发送请求。 ② OP 对最终用户进行身份验证并获得授权。...❝请注意,OIDC必须使用JWT作为令牌风格。 用户信息端点 OIDC还提供用户信息端点,这个端点是一个资源端点。

4.8K41

OAuth2.0 OpenID Connect 一

由于规范规定了令牌格式,因此可以更轻松地跨实现使用令牌。 关键概念:范围、声明和响应类型 在我们深入了解 OIDC 细节之前,让我们退后一步,谈谈我们如何与之交互。...所有 OIDC 交互都涉及两个主要参与者:OpenID 提供者 (OP) 和依赖方 (RP)。...OIDC 一项重大改进是元数据机制,用于从提供者处发现端点。 什么是范围? 范围是以空格分隔标识符列表,用于指定请求访问权限。有效范围标识符在RFC 6749中指定。...然后可以将这些令牌返回给最终用户应用程序,例如浏览器,浏览器不必知道client secret. 此流程允许通过使用refresh tokens....许多 OIDC 实施者也会将 JWT 用于访问和刷新令牌,但这不是由规范规定。 Access Token 访问令牌用作不记名令牌。持有者令牌意味着持有者无需进一步识别即可访问授权资源。

43430
  • 聊聊统一认证中四种安全认证协议(干货分享)

    不是强制性,而是建议使用,以提供一组有用可互操作权利要求。...,允许用户授权第三方应用访问他们存储在另外服务提供者信息,不需要将用户名和密码提供给第三方移动应用或分享他 们数据所有内容。...OAuth2协议 - 协议特点 简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用; 安全:没有涉及到用户密钥等信息,更安全更灵活; 开放:任何服务提供商都可以实现OAuth,任何软件开发商都可以使用...OAuth2实际上只做了授权,OpenID Connect在授权基础上又加上了认证。   OIDC优点是:简单基于JSON身份令牌(JWT),并且完全兼容OAuth2协议。...JWT; 标准化id_token内容:Standard Claims OIDC引入了关于如何获取详细userinfoEndpoint; OpenID Connect协议 - IDToken意义 在

    2.7K41

    ASP.NET_.NET

    这里有个问题是前面的 2和3是oAuth2标准化流程,第4步却不是,但是大家都这么干(它是一个大家都默许标准) 于是大家干脆就建立了一套标准协议并进行了一些优化,它叫OIDC OIDC 建立在oAuth2.0...上没有认证过程,只是给我应用授权访问一个API权限,我们通过这个API去获取当前用户信息,这些都是通过oAuth2授权码模式完成。...userinfo endpoint 下图是对id_token进行解析得到信息:sub即subject_id(用户唯一标识 ) jwt了解同学知道它里面本身就可以存储用户信息,那么id_token...我们来看一下用它如何快速实现OIDC认证服务。 由于用户登录代码过多,完整代码可以加入ASP.NET Core QQ群 92436737获取。 此处仅展示配置核心代码。...IdentityServer4.Models.GrantTypes这个枚举给我们提供了一些选项,实际上是把oAuth4种和OIDC3种进行了组保。

    1.6K30

    Open ID Connect(OIDC)在 ASP.NET Core中应用

    这里有个问题是前面的 2和3是oAuth2标准化流程,第4步却不是,但是大家都这么干(它是一个大家都默许标准) 于是大家干脆就建立了一套标准协议并进行了一些优化,它叫OIDC OIDC 建立在oAuth2.0...以上没有认证过程,只是给我应用授权访问一个API权限,我们通过这个API去获取当前用户信息,这些都是通过oAuth2授权码模式完成。...userinfo endpoint 下图是对id_token进行解析得到信息:sub即subject_id(用户唯一标识 ) ?...我们来看一下用它如何快速实现OIDC认证服务。 由于用户登录代码过多,完整代码可以加入ASP.NET Core QQ群 92436737获取。 此处仅展示配置核心代码。...IdentityServer4.Models.GrantTypes这个枚举给我们提供了一些选项,实际上是把oAuth4种和OIDC3种进行了组保。

    2.5K80

    CAS、OAuth、OIDC、SAML有何异同?

    也就是说,当用户登录应用系统时,系统需要先认证用户身份,然后依据用户身份再进行授权。认证与授权需要联合使用,才能让用户真正登入并使用应用系统。...但是在实际使用中,Authorization脱离Authentication并没有任何意义。 OAuth 2.0解决主要场景是: 第三方应用如何被授权访问资源服务器。...StandardClaims OIDC引入了关于如何获取详细userinfoEndpoint; OIDC定义了类似于SAML MetadataDiscovery接口,俗称well-known接口:...SAML标准定义了身份提供者(Identity Provider)和服务提供者(Service Provider)之间,如何通过SAML规范,采用加密和签名方式来建立互信,从而交换用户身份信息。...SAML流程参与者包括Service Provider(SP)和Identity Provider(IDP)两个重要角色,且整个流程包括如下两个使用场景: SP Initiated: 服务提供者主动发起

    25.2K56

    6.Permission Based Access Control

    那么当我们得到OAuth2Access Token或者OIDCId Token之后,我们资源服务如何来验证这些token是否有权限来执行对资源某一项操作呢?...Token,OIDCId Token和传统基于角色权限控制是如何处理控制这些资源操作。...2 OIDCId Token之sub 关于Id Token用途以及其包含哪些信息请参考Id Token。...Id Token和Access Token不同之处在于它一定是包含某一个用户标识 sub ,但是没有Scope,这是因为Id Token用途是认证当前用户是谁,所以用户是必须存在;由于仅仅是认证...那么针对Id Token,我们API应该如何进行权限管控呢?通常做法是使用传统基于校色权限控制(Role Based Access Control)。

    1K100

    spring authorization server oidc客户端发起登出源码分析

    )发起登出请求,注销授权服务器端会话 流程: 客户端登出成功->跳转到授权服务端OIDC登出端点->授权服务端注销会话->跳转回客户端(可选) 源码 OIDC 登出端点配置器 org.springframework.security.oauth2...final class OidcLogoutEndpointFilter extends OncePerRequestFilter { // 默认端点地址,用于处理OIDC依赖方发起登出请求...,则使用匿名用户认证信息 Authentication principal = SecurityContextHolder.getContext().getAuthentication(); if...登出请求认证提供者 org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcLogoutAuthenticationProvider...{ throwError(OAuth2ErrorCodes.INVALID_REQUEST, "post_logout_redirect_uri"); } ... // 如果当前会话用户不是匿名用户

    14600

    4.OIDC(OpenId Connect)身份认证授权(核心部分)

    定义OIDC核心功能,在OAuth 2.0之上构建身份认证,以及如何使用Claims来传递用户信息。 Discovery:可选。...同理,OIDC不是新技术,它主要是借鉴OpenId身份标识,OAuth2授权和JWT包装数据方式,把这些技术融合在一起就是OIDC。...参数必须要有一个值为openid参数(后面会详细介绍AuthN请求所需参数),用来区分这是一个OIDCAuthentication请求,不是OAuth2Authorization请求。...ID Token通常情况下还会包含其他Claims(毕竟上述claim中只有sub是和EU相关,这在一般情况下是不够,必须还需要EU用户名,头像等其他资料,OIDC提供了一组公共cliams...如何获取到ID Token,因为OIDC基于OAuth2,所以OIDC认证流程主要是由OAuth2几种授权流程延伸而来,有以下3种: Authorization Code Flow:使用OAuth2

    4.3K50

    深入浅出,JWT单点登录实例+原理

    /** * @Description: 获取/设置本次用户数据 */ 这当然不是一个普通java实体类。如果是普通类,其中属性字段会出现线程覆盖问题,数据错乱。...登录成功后,系统给我分配了一个jwt字符串。并将jwt保存在浏览器cookie中! 这个时候,登录成功了,拦截器放行,获取淘宝地主页面。我们看看这次地请求。...: string; // JWT签发者 sub?: string; // JWT所面向用户 aud?: string; // 接收JWT一方 exp?...服务端,拿到 token 后解密,即可知道用户信息,例如本例中UserName,id 有了 id,那么你就知道这个用户是谁,是否有权限进行下一步操作。 Token 过期时间怎么确定?...缩短 token 有效时间 使用安全系数高加密算法 token 不要放在 Cookie 中,有 CSRF 风险 使用 HTTPS 加密协议 对标准字段 iss、sub、aud、nbf、exp 进行校验

    1K10

    使用 KeyCloak 对 Kubernetes 进行统一用户管理

    上一篇文章中讲到了 OIDC 协议在 K8s 集群中如何工作,这篇文章来具体讲讲如何在 K8s 集群中进行统一用户管理。...KeyCloak 中配置 要想实现用户管理,我们需要利用 K8s 中 group 概念,来对一组用户分配权限,这需要利用 OIDC 协议中 Claim 概念,来实现 K8s 中用户分组。...oidc-username-claim:指明 ID Token 中用以标识用户名称 claim。oidc-username-prefix:用户名前缀,“-” 表示没有前缀。.../micahhausler/k8s-oidc-helper 用户管理 在将一切都配置成功后,我们再来看给用户分配权限。...总结 本文仅仅通过 KeyCloak 和 kubectl 向大家介绍了 K8s 中如何进行用户管理,相应地,如果自己用户中心实现 OIDC 协议,并且客户端通过 ID Token 以 "bearer

    3K20

    让部署更快更安全,GitHub 无密码部署现已上线

    OpenID Connect 身份验证协议是一种可互操作机制,用于提供有关用户身份可验证信息。...假如用户身份提供者是验证方能够信任提供者,则可以在称为 ID 令牌 Json Web 令牌(JWT) 中以声明形式提供相关用户数据。...尽管反响热烈,但其采用速度似乎比预期要慢,WhiteDuck DevOps 咨询与运营主管 Nico Meisenzahl 在推特上写道: 在 #GitHub Actions 中使用 #OIDC 进行云提供商和...2022 年底发布 GitLab 15.7 版本支持访问 Hashicorp Vault、AWS、Azure 和 GCP, Circle CI 于 2023 年 2 月宣布支持 GCP 和 AWS...所有计划都可以使用 GitHub Actions OIDC 登录云提供商,而无需额外费用。

    89510

    如何基于Security实现OIDC单点登录?

    一、说明 本文主要是给大家介绍 OIDC 核心概念以及如何通过对 Spring Security 授权码模式进行扩展来实现 OIDC 单点登录。...我们都知道 OAuth2 是一个授权协议,它无法提供完善身份认证功能,OIDC 使用 OAuth2 授权服务器来为第三方客户端提供用户身份认证,并把对应身份认证信息传递给客户端,且完全兼容 OAuth2...OIDC 核心在于 OAuth2 授权流程中,一并提供用户身份认证信息 ID Token 给到第三方 客户端,ID Token 使用 JWT 格式来包装。...四、OIDC 单点登录流程 下面我们看一个 OIDC 协议常用场景,就是具有 「独立用户体系」 系统间单点登录,意思指的是用户数据并不是统一共用,而是每个系统都拥有自己独立用户数据,所以流程最后增加了一步...OIDC 模式,如果使用则在 response_type 中增加 id_token 值。

    1.4K20

    开源网关 Apache APISIX 认证鉴权精细化实战讲解

    进一步介绍 APISIX 用户认证体系是如何与其他安全特性联动使用,从而进一步提升 API 网关安全防护能力。... APISIX 区分于传统代理一大优势就是灵活插件扩展能力,这其中就包括一套用于用户认证插件集合,这些插件根据实现方式不同可以分为两大类。 第一种是对接外部认证服务,委托其进行认证。...例如,我们可以使用 openid-connect 插件对接任意支持 OIDC 协议认证服务,下面是一段对接到 Keycloak 服务样例配置: curl http://127.0.0.1:9180/...OIDC OpenID 是一个去中心化网上身份认证系统。对于支持 OpenID 网站,用户不需要记住像用户名和密码这样传统验证标记。...Rose 在 60 秒内拥有更多请求次数配额 1000, Jack 只有 200 配额。 总结 认证鉴权作为 API 网关不可或缺能力,已然成为用户在选型 API 网关时考量重要因素之一。

    2.4K20

    OIDC 协议及其在 Kubernetes 中运用

    OIDC 协议又构建了一个身份层,具体流程如下: 可以看到,当 Client A 要求登录时,OIDC Server 会检测到该用户没有登录,从而启动类似 OAuth 流程登录过程;当同一个用户在... OIDC 登录过程与 OAuth 相比,最主要扩展就是提供了 ID Token,下面我们进一步来熟悉一下 ID Token。...结合 aud 使用。只有在被认证一方和受众(aud)不一致时才使用此值,一般情况下很少使用。 除了上述这些,ID Token 用户信息还可以包含其他信息,由服务器端配置。...K8s 中使用 OIDC 原理 在了解了 OIDC 协议流程及原理后,我们再来看 K8s 中使用 OIDC 原理。... APIServer 如何根据 ID Token 知道是哪个用户呢?这也需要我们在 APIServer 配置中指定 ID Token 中对应字段。

    2.7K00

    IdentityServer4 知多少

    OAuth允许用户提供一个令牌不是用户名和密码来访问他们存放在特定服务商上数据。每一个令牌授权一个特定网站内访问特定资源(例如仅仅是某一相册中视频)。...这样,OAuth可以允许用户授权第三方网站访问他们存储在另外服务提供者某些特定信息,而非所有内容。 OAuth是OpenID一个补充,但是完全不同服务。...一种方式是使用Https,另一种方式就是对Token进行加密签名。JWT就是一种比较流行Token编码方式。 4.2....JWT声明一般被用来在身份提供者和服务提供者间传递被认证用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外其它业务逻辑所必须声明信息,该token也可直接被用于认证,也可被加密。...关于如何与ASP.NET Identity、EF Core集成,本文并未涉及,详参官方文档。

    3K20
    领券