我现在标题到什么对我来说是一个未知的领域......API Secutiry与AngularJs SPA
我想要做的是保护我的Azure的API。而且我希望我的应用程序能够“与之通话”。
所以我已经固定我什么Azure的AD认证已经给我们的应用程序......我也跟着下面这个方法:
指南: Securing AngularJS Single Page Apps with Azure AD
视频: AngularJS Module for Microsoft Azure Active Directory Authentication
而且我不知道如何让它与我的API协同工作,或者如何确保它与Angularjs SPA Azure AD认证的对接。
所以我不是一个完整的指南之后,或者我真的想要了解这一点。 事情是我什至不知道从哪里开始拉的踩踏可言。
任何人都知道任何好的指针或有一个我应该看看的步骤列表,也可能是按照至少这样的顺序。
任何东西将不胜感激!
在此先感谢 - 约翰
----------------------编辑/后续---------- --------------
好吧,所以我设法保护我的API并将客户端和api连接到旧门户中的相同天青AD。
API和客户端现在均已启用SSL,因此他们使用https协议。
当我尝试通过邮递员从api获取联系人列表时,我得到“消息”:“授权已被拒绝此请求。”
这是什么感觉,因为它应该。
但是,当我通过angularjs SPA客户端尝试GET功能,我收到了状态码500
$scope.fillTable = function() {
$http.get('https://localhost:44338/api/Contacts').success(function (data) {
var peopleList = data;
$scope.contactList = peopleList;
})
}
出于某种原因,我的授权密钥甚至没有在头因为它应该是因为adal.js,如文档中所述。
因此,当我登录时,我也获得了身份验证密钥,并且如果我只是在获取funsction中放置“api/Contacts”。没有这个地址的其余部分。
但我没有运行get函数,因为它应该是。
是否都API和客户端必须在这个同样的解决方案正常工作?因为我已经修复了CORS,并且还在清单中将oauth2AllowImplicitFLow设置为true,并且还在azure广告中展开了过多的数据。
我跟着结合这些指南与上面的那些:
Protect a Web API using Bearer tokens from Azure AD
Integrating Azure AD into an AngularJS single page app
Enabling Cross-Origin Requests in ASP.NET Web API 2
你用什么来验证,opendId连接? – Bonomi