使用msal.js在角度spa上进行身份验证

arm*_*che 6 single-page-application azure-ad-b2c azure-ad-msal angular

我的角度应用程序有1000个独特的路由,用户应该可以从任何这些页面点击登录按钮.基于此示例实现了msal.js:

https://github.com/Gimly/simpleAngularAzureB2C/blob/master/src/app/authentication.service.ts

调用login方法时出现以下错误:

AADB2C90006:+ +重定向+ URI +' http:// localhost:39579/unique-uri '+提供+ + + +请求+ + +不+注册+ + + +客户端+ id +

有办法解决这个问题吗?

谢谢!

Chr*_*ett 10

默认情况下,Msal.UserAgentApplication构造函数将"redirect_uri"请求参数设置为当前URL,该URL不会缩放.

Msal.UserAgentApplication构造函数接受"redirectUri"选项参数,该参数允许将"redirect_uri"请求参数设置为为Azure AD B2C应用程序注册的固定URL(例如" http:// localhost:39579/authcallback ") .

在MSAL生成对Azure AD B2C的身份验证请求之前,它会将当前URL(例如," http:// localhost:39579/unique-uri ")写入存储,然后将用户代理重定向到身份验证端点.

在"/ authcallback"端点,您必须创建Msal.UserAgentApplication的新实例,以处理身份验证响应.

在MSAL验证Azure AD B2C的身份验证响应后,它会从存储中读取原始URL,然后将用户代理返回到此URL.