You*_*suf 6 asp.net oauth-2.0 angularjs asp.net-web-api2
我的申请结构如下 -
https://democompany.com/
https://democompany.com/app1
https://democompany.com/api
Run Code Online (Sandbox Code Playgroud)
用户登录主网站url https://democompany.com/logon.aspx这是一个asp.net webforms应用程序.
app1应用程序是一个使用/ api app的angularjs应用程序.api是webapi2应用程序,它使用oauth令牌进行身份验证.我希望用户只能在democompany.com/logon.aspx上登录一次,并将oauth令牌传递给angularjs应用程序.
是否有推荐的方法将oauth令牌从一个应用程序传递到另一个应用程序.
只要您的应用程序使用一个子域,您就可以使用客户端 window.localStorage 来实现这一目的。
// to set token in storage
window.localStorage.setItem('access_token', access_token);
// to get token from storage
access_token = window.localStorage.getItem('access_token');
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用一些 JavaScript 代码从每个页面访问该存储。例如,使用 Angular + web.api 的组合,您可以为 $http 服务中的所有请求设置令牌:
$http.defaults.headers.common['Authorization'] = "Bearer " + token;
Run Code Online (Sandbox Code Playgroud)
interceptor如果您想更好地控制代码,您也可以使用设置令牌。
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |