我们在AngularJS中开发了前端,在NodeJ中开发了后端API.我们使用Azure AD进行身份验证.前端Angular正在使用adal-angular javascript库进行azure身份验证.因此,当用户访问网站时,他会被重定向到https://login.microsoftonline.com,并且在成功进行身份验证后,他会被重定向回我们的网站.到现在为止还挺好.
我必须使用passport-azure-ad库来保护后端api .只有前端才调用这些API.使用此库有两种策略:
1> OAuth2Bearer策略
2> OIDCStrategy用于Open ID Connect
我受到印象Azure AD默认情况下使用OpenID Connect进行身份验证.所以我打算使用OIDCStrategy保护Node web api,如下所述.
但是在fiddler中我看到以下请求客户端(即角度前端)在调用web API时正在进行
GET http://localhost:4030/api/getemployees HTTP/1.1
Host: localhost:4030
Connection: keep-alive
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOi………………………
Referer: http://localhost:4030/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)
注意授权标签以"Bearer"开头,所以我假设客户端正在向服务器发送Bearer令牌.
问
1>我应该在这里使用哪种策略?
2>我们什么时候应该使用另一个?