gpt4 book ai didi

rest - 如何使用 auth0 jwt 识别用户

转载 作者:行者123 更新时间:2023-12-01 09:18:31 25 4
gpt4 key购买 nike

我有一个 angular2 前端,它使用 Auth0 进行身份验证,后端有一个 .net 核心应用程序。所有人都在致力于强制执行安全的 API 调用。

在后端识别经过身份验证的用户的最佳方法是什么? 我能想到的一种相当笨拙的方法是公开一个“setUserToken”api 调用,它允许我将用户 ID 连接到以下任一项:

  • token var bearerToken = Request.Headers["Authorization"].ToString()
  • 社会ID var socialId = User.Claims.Where(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").First().Value

  • 这样,通过后续的 API 调用,我可以简单地 findUserByToken()findUserBySocialProviderOpenId()
    我确定我错过了这个问题的更明显的解决方案。任何指导将不胜感激。

    最佳答案

    sub JWT 的声明始终由 Auth0 生成,并将包含用户的标识符,独立于用于登录的身份提供者。

    https://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#rfc.section.4.1.2

    The sub (subject) claim identifies the principal that is the subject of the JWT. The claims in a JWT are normally statements about the subject. The subject value MUST either be scoped to be locally unique in the context of the issuer or be globally unique. The processing of this claim is generally application specific. The sub value is a case-sensitive string containing a StringOrURI value. Use of this claim is OPTIONAL.



    在大多数情况下,您的后端 API 应该只是 Auth0 访问 token 的使用者,不需要公开任何与身份验证相关的端点。

    关于rest - 如何使用 auth0 jwt 识别用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38348806/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com