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

时间:2017-12-07 02:41:41

标签: angular single-page-application azure-ad-b2c msal

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

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

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

AADB2C90006:+的+重定向+ URI +' http://localhost:39579/unique-uri&#39 +提供+ IN +的+请求是+未+注册+为+的+端+ ID +

有没有办法解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:6)

默认情况下,Msal.UserAgentApplication构造函数设置" redirect_uri"请求参数到当前网址,不会缩放。

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

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

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

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