嗨,我有一个azure函数,我试图从jwt令牌中获取用户的当前ID。
我目前正在从标题读取它,这对我来说很有意义,但我担心我可能没有遵循最佳做法。
第一行对我来说似乎也有些拙劣。
你们能看看吗,并建议我如何改善它。
这是完全错误的方法吗?
self.view.bottomAnchor
答案 0 :(得分:0)
从您的代码中看来,您只是从jwt令牌有效载荷中读取了索赔值,但尚未验证jwt令牌。
通常,Jwt令牌由三部分组成:标头,有效载荷,签名。
Header - Provides information about how to validate the token including information about the type of token and how it was signed.
Payload - Contains all of the important data about the user or app that is attempting to call your service.
Signature - Is the raw material used to validate the token.
每个部分都基于64编码,并用“。”分隔。在jwt中,您可以在此处解析jwt以检查其Header和Payload:https://jwt.io/
签名由标头和有效内容组成,并用身份提供者(发布此jwt)的私钥进行签名。
如果要验证jwt,您应该做的工作是从身份提供者那里获取公共密钥,并使用该公共密钥来解锁签名部分:您将获得Header和Payload的明文值。如果您从Signature部分解锁的jwt的Header和Payload的内容完全相同,则表明此令牌是经过验证的令牌。
This is a post about how to verify a jwt from Azure AD,它认为这将对您有所帮助。如果您还有其他疑问,请随时告诉我。