【问题标题】:Nuxt + Azure AD + Laravel APINuxt + Azure AD + Laravel API
【发布时间】:2021-07-23 13:07:39
【问题描述】:

我发现 Nuxt Azure AD 身份验证有助于从 Azure 获取 JWT 令牌。 Nuxt 应用将从 Laravel API 获取数据。如何实现 API 身份验证。每个 API 都有用户模型,因此应在 API 端验证 Azure AD 响应并分配特定用户。

Azure AD response

【问题讨论】:

  • 你提供的是graph api的token。
  • 使用 npm jwt-decode 解码 JWT。从 Azure 我得到 Bearier 令牌,可以解码为这个 json。
  • 我知道您的令牌已被解码。我的意思是您的令牌用于调用 ms graph api。
  • 那么,我必须使用这个令牌并在后端验证它吗?
  • 如果你调用的不是ms graph api,那么token可能不适合你。

标签: laravel azure-active-directory nuxt.js


【解决方案1】:

目前你已经在Azure AD中注册了一个代表api的应用,并且已经暴露了api应用的api。接下来,您需要注册另一个代表 Nuxt 应用程序的客户端应用程序,然后将 客户端应用程序 添加到 api 应用程序

接下来,转到客户端应用程序。

  • 'API 权限'下点击'添加权限',然后点击 “我的 API” 标签。
  • 找到您的 api 应用程序并选择适当的范围。
  • 点击“添加权限”。
  • 为您的 API 授予管理员同意

然后,我使用auth code flow 来获取用户令牌。

1.在浏览器中请求授权码。

https://login.microsoftonline.com/{tenant id}/oauth2/v2.0/authorize?
client_id={client app client id}
&response_type=code
&redirect_uri={redirect_uri}
&response_mode=query
&scope=api://{api app client id}/{scope name}
&state=12345

2.兑换代币。

解析令牌:

解析令牌,您将看到 aud 声明是您的 api 应用程序的客户端 ID。同时,token还包含用户信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 2017-09-25
    • 2021-02-22
    • 1970-01-01
    • 2017-01-09
    • 2019-08-10
    • 2021-06-11
    相关资源
    最近更新 更多