代码之家  ›  专栏  ›  技术社区  ›  armache

使用msal在angular spa上进行身份验证。js公司

  •  7
  • armache  · 技术社区  · 7 年前

    我的angular应用程序有1000条独特的路线,用户应该能够从这些页面中点击登录按钮。已实施msal。js基于此示例:

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

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

    AADB2C90006:+redirect+URI+' http://localhost:39579/unique-uri “+请求中提供的+未为+客户端+id注册”+

    有没有办法绕过这个问题?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  11
  •   Chris Padgett    7 年前

    默认情况下,Msal。UserAgentApplication构造函数将“redirect\u uri”请求参数设置为当前URL,该URL不可扩展。

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

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

    在“/authcallback”端点,必须创建Msal的新实例。UserAgentApplication,用于处理身份验证响应。

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