如何从 Azure 多租户应用程序获取 JWT 令牌?

时间:2021-06-19 22:00:58

标签: azure authentication jwt authorization single-sign-on

我在 Azure 门户上创建了一个多租户应用程序并发送请求以获取具有应用程序客户端 ID 的令牌。我正在使用以下 URL 在 Microsoft Azure AD 上获取令牌

<块引用>

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

发送带有参数的获取请求 client_id={clientId}&response_type=token&scope=user.read+openid+profile+offline_access

但是它在给定的回调 url 上返回一个 access_token

<块引用>

的http://本地主机:8082 /我的 - 回调URL#=的access_token%EwCIA8l6BAAU6k7 2bXVQzkGyMv7VHB / h4cHbJYRAAATb8xtkaxI5xsVkWM6etOevj7ADopBYP1 / HJ%2bUz%2bf1ZXH4lpykHkES1XBRBDNRDWwdqAA%2brO2tFlMygiuusVx1EJKvqeV0rPPaNDNX9azpWGzS45BN6WmXKcxzX623enNYJOdo%2bYyTtaMipFapvABOsjHve1nVwfq9zqpmcldnIhXBeGefdQsgqmBNjeAyAbWzifLNtdz6Ybxnbt8nMY5adb82Z8tsfddfDdjrqk%2BU%2b85%2bxKXO9Xop3wdRvrVC9FM46RniA6H3NUKjOMTJAsX4IQLjGjXM4eq9o95lmSzF3zgFOXI1rYwkDRVsFsLOgP8tx0occDcuVPQgMalXR6JREDZgAACIJRWLYJGUcWWAKPx26NmroNGG1xEkPB1kLeGk0Hf8324YZs2InsGvQBFUMU4XzGGNdj0s5rLYKK2ictDstHV1daM241F1M5FiaX1qCgdRXneR9uPzUsSIBOzPJtT1dD4k%2bDxp6Nr4hEnDPlymp5X0SR4v5vUA3aRhnsvmEzBVQDKR7cFvT7NSqVHSr / TTV / epdx81qgJcd6S6xF8oaMc7mn76jgU4YBn8jXYnTfGhUvhNZ8RJyyl71AqZrGr7JS2kStselZUgjavLqc9DdQD9cwPSWu1ketKmGgCjt6lVB3nlaw8Wxq%2by2 / YhPznTRFD2wj / vzDOdTzCcZ9mJV%2bKMGcXYQqBiGE0MF8%2bWA1EKSXniT5UiegTfJkvnsgtx6G6sdV0rzFM7Xa9d / dHNDfyV5oGedZtJXE1WCUrEIUZZm / HNhhQyh0WSG0gWm3vOY7NAs13vey9lcIQ6Fllu6W / Ty3HE4llFp / 9a3lNcujmlxsCASFUOX6R54xPJMt1ipF5lh5uyZCPoUda46UsrCDnN Rg0dhuoSVwJMDHzDbs4NXhX4nhTOze / 9koz6p5Ao4DtJ20LqmcylZDoLxUhXIU5vvnBYpiHwanBt2E / RG%2bqVEQbRy / v9fhi0chY0XPzldIm / Lz2l0%2b0MpJ / 4l53f9YTRLdEMD8X8Umi35ZvpK9arAqgdRkx4 / oWG9m8sxOMY2eASetiAJaU8yjtETgHpBGJTXbDVDpNA1s5NGc9QC%2brcSnGDV0BKIDYxBISR8TiJQVUaPqbNU1Mj3kGyQFnfS0jS83VGVfFCZ4cHkhDq / awLh2JrR0Ag%3D%3D&token_type =承载&expires_in = 3600&范围= User.Read%20openid%20profile

如何验证此访问令牌?或者我怎样才能获得 JWT 令牌?

1 个答案:

答案 0 :(得分:0)

您的范围是 user.read+openid+profile+offline_access。 第一个是 Microsoft Graph API 范围。 它实际上是 https://graph.microsoft.com/user.read 的简写。 因此,您将获得一个用于 Microsoft Graph API 的访问令牌。

您定义的其他范围会影响 id 令牌(openid、profile)或为您提供刷新令牌(offline_access)。

这意味着您不能也不应该验证令牌。 只有 Microsoft Graph API 应验证此令牌,因为该令牌适用于它。

如果您需要 API 的访问令牌,则需要使用 API 的应用注册中定义的范围(公开 API 部分)。