-1

我在我的 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 实现这一目标的想法。

4

1 回答 1

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 商店反而。

您还可以从文件加载证书

于 2019-10-09T08:28:06.400 回答