如何在Azure函数中对JWT令牌进行身份验证

时间:2019-09-06 22:18:15

标签: c# jwt azure-functions

嗨,我有一个azure函数,我试图从jwt令牌中获取用户的当前ID。

我目前正在从标题读取它,这对我来说很有意义,但我担心我可能没有遵循最佳做法。

第一行对我来说似乎也有些拙劣。

你们能看看吗,并建议我如何改善它。

这是完全错误的方法吗?

self.view.bottomAnchor

1 个答案:

答案 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,它认为这将对您有所帮助。如果您还有其他疑问,请随时告诉我。