【问题标题】:Azure AD B2C Angular front + Django BackendAzure AD B2C Angular 前端 + Django 后端
【发布时间】:2017-11-22 08:11:15
【问题描述】:

我们需要创建基于 Angular、Django 并与 Azure B2C AD 集成的应用程序。

现在,我们已经完成了 Angular 的部分工作,我们向 Azure B2C 发出请求,当用户登录时,它返回到带有 ?id_token 的 Angular 应用程序。 还有我们的问题,因为前端需要与我们用 Django 编写的后端进行通信。我们需要保护此连接并了解谁在发出请求。

我们想要创建类似的东西:

angular->Azure B2C

Azure B2C->(带有 id_token)->角度

angular->Django(with id_token)->create session->angular(发送 session_key)

angular->Django(带有 session_key->angular(带有请求的数据)

还有一个问题,我们不知道如何验证用户是否在 Azure 中成功登录。 (我用斜体表示的部分)。

【问题讨论】:

  • 您可以在您的应用程序中验证您的 id 令牌,或者使用像 nginx 这样的代理服务器为您进行验证,然后代理将请求传递给 django 服务器。
  • 你有什么解决办法吗?

标签: active-directory azure-active-directory azure-ad-b2c


【解决方案1】:

您应该从 AAD B2C 获得授权码,而不是令牌,正如 OAuth 2.0 authorization flow 所描述的那样。

所以你应该这样做:

Angular -> Azure B2C

Azure B2C ->(带有授权码)-> Angular

Angular -> Django(带有授权码)-> 检索 access_token 和 refresh_token

Angular -> Django Secured API (with access_token)

我们刚刚发布了自己的 Angular + AAD B2C 实现(在 ASP.NET Core 上运行但逻辑应该相同,您只需要找到 Django 等价物),如果您想了解如何操作: https://github.com/3DSemantix/angular-asp.net-core-aad-b2c

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 2016-06-29
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2017-01-09
    相关资源
    最近更新 更多