需要帮助将Azure SSO集成到AngularJS应用程序中

问题描述

我正在尝试将Azure SSO集成到新的AngularJS应用程序中,而我正努力寻找未在Visual Studio中编写的完整AngularJS示例。我遇到的任何事情要么是不完整的,没有显示如何处理经过身份验证的用户重定向等,要么是在Visual Studio中(我不想要)。

我已遵循ADAL located here的教程,但没有给出完整的演示(仅代码片段),也没有真正解释如何与经过身份验证的用户打交道。在哪里可以找到完整的AngularJS教程,以了解如何集成Azure SSO的所有功能

我可以让我的应用程序调用microsoft登录页面,选择我的用户,然后请求密码,但是一旦发生,我就在Redirect URI方面苦苦挣扎。我正在使用UI-Router,这意味着我的所有视图都以https://myapp.com/#!/auth的形式出现,Azure声称这不是重定向到的有效URL。

如果我将重定向URI更改为基本根以外的任何内容(例如https://myapp.com/auth/),则每次尝试登录时都会出错:

AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application

如果我将其保留为root,则我的应用程序将退回到https://myapp.com/#!/并且无法识别已登录用户

有人对我们有什么建议或可以帮助我进行整合吗? 谢谢。

解决方法

我设法通过在我的.config()方法中添加以下命令来解决此问题:

$locationProvider.html5Mode(false).hashPrefix('');

这从我的所有视图中删除了!,并通过确保我的应用程序URL和重定向URL在Azure中是相同的(如@Sruthi J的建议),这使得重定向能够正确进行。