如何使用Azure Active Directory身份验证库对Angularjs应用程序进行身份验证?

时间:2019-04-25 09:34:02

标签: angularjs azure azure-active-directory

我有一个带有AngularJS前端和spring REST后端的Web应用程序。我必须使用Azure AD进行身份验证。在登录页面上输入凭据时,它将带我到Azure并要求我输入凭据,执行此操作后,我会收到消息:

  

AADSTS50011:在请求中指定的回复URL与为应用程序配置的回复URL不匹配:“ xxxx-xxx-xxxx-xxxx-xxxx”。

发出请求的页面表单为:

  

https://xxx.xxxx.com/App/#/login

在Azure中为该应用程序指定的replyUrl为:

  

https://xxx.xxxx.com/App/#/

我是否必须使两个URL相同,即https://xxx.xxxx.com/App/#/login

我对ADAL的初始化代码是:

//Module A:
public class Cards implements ICards, Iterable<? extends ICard> {

    private List<ActionCard> m_Cards = new ArrayList<>();

    @Override
    public Iterator<? extends ICard> iterator(){        
        return m_Cards.iterator();
    }
}

public class ActionCard implements ICard {
   //...some methods
}

//Module B:
public interface ICards extends Iterable<? extends ICard> {
   //...some methods
}

public interface ICard {
   //...some methods
}

即使在将replyTo的URL与发出请求的页面的URL相同之后,仍然出现相同的错误。

1 个答案:

答案 0 :(得分:0)

  

我是否必须使两个URL相同,即https://xxx.xxxx.com/App/#/login

简而言之:是的。

a lot of information to be found about this error online

  

InvalidReplyTo-答复地址丢失,配置错误或与为该应用程序配置的答复地址不匹配。作为解决方案,请确保将此缺少的回复地址添加到Azure Active Directory应用程序中,或者让有权在Active Directory中管理您的应用程序的人为您完成此操作。

取自Authentication and authorization error codes