【问题标题】:Azure AD B2C Invitation link using msal使用 msal 的 Azure AD B2C 邀请链接
【发布时间】:2019-09-30 14:10:21
【问题描述】:

我在我的 Angular 应用程序 (SPA) 中使用 @azure/msal-angular 库。 现在我们需要添加一个 B2C 自定义策略,以通过电子邮件 ID 向用户发送注册邀请。

我找到了Invitation custom policy Sample,但它使用 .net 生成令牌和要发送到用户电子邮件的 URL。我通过替换必要的细节来使用相同的东西并试一试。

我想在msal中实现token和link的生成。有人可以分享实现这一目标的必要条件吗?

前端 = Angular 7
后端 = Java 8(使用 java 的 Azure 函数应用)

编辑

正如 Tom 所说,我尝试使用 jjwt 在 Java 上创建 JWT 令牌。但我仍然需要的是如何在身份体验框架中获取与生成的策略密钥相关的私钥。请分享有助于我使用 Java 实现这一目标的想法。

【问题讨论】:

  • 你有机会查看我的更新吗?

标签: azure azure-active-directory azure-ad-b2c msal.js identity-experience-framework


【解决方案1】:

您共享的示例中的 .net 代码使用私有证书生成 JWT 令牌,然后 B2C 验证此令牌的签名。

出于安全原因,在客户端生成令牌是没有意义的。如果你这样做,你的私钥将是公开的。您应该始终在服务器端生成令牌。

因此,您需要一个服务器端 api 来为您构建令牌和链接,然后您的 Angular 代码访问该 API。您可以只使用 .net 示例。如果你更喜欢 JS,那么使用 node.js 和 jsonwebtoken npm 包

更新:

关于如何在Azure Web App上获取私钥,请参考https://docs.microsoft.com/en-us/azure/app-service/app-service-web-ssl-cert-load

您需要上传私有证书,然后使其可访问。 对于大多数定价层,Azure 将指定的证书放置在 Current User\My 商店中,但如果您的应用在隔离层上运行(即应用在应用服务环境中运行),您可能需要签入 Local Machine\My 商店而是。

您也可以load the certificate from file

【讨论】:

  • 嗯,后端我们使用Java。所以我在那里寻找一些解决方案。我还用这些详细信息更新了问题。
  • @ForamkumarParekh 已更新我的答案,请查看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
相关资源
最近更新 更多