Lei*_*eif 5 javascript express angularjs
我有一个Angular应用程序,它在localstorage中存储JWT令牌以提供身份验证.我想要做的是弄清楚如何获取这个JWT令牌并将其插入HTTP GET请求,该请求呈现为一个全新的网页(不是来自XMLHTTP请求的返回对象,显示在同一页面中......) .
这可能吗?我发现做类似事情的唯一方法是使用基本的HTTP授权,例如:
用户名:password@www.hypotheticalwebsite.com
而且我假设我可以在那里通过我的整个JWT.
我正在使用Express.js来处理我的Node.js后端上的路由.
只需从您的区域设置存储中读出 JWT,然后将 JWT 插入授权标头,或者您可以将其添加为 GET 参数。
我会推荐标题。
在下一面,简单地读出 JWT。
如果需要在express实例的所有页面上进行处理,则在express-middleware中进行。
更新
如果您想使用普通链接,则必须使用类似 的参数?auth_token=12345。
要添加它是一个标头,您可以使用$http并使用控制器中的方法。例如:
控制器
$scope.openLink = function() {
var config = {
headers: {
'Authorization': '12345',
}
};
$http.get("<your url>", config);
}
Run Code Online (Sandbox Code Playgroud)
看法
<a href="#" ng-click="openLink()">Test</a>
Run Code Online (Sandbox Code Playgroud)
为了安全起见,您应该在 api 中添加角色,并且只允许管理员进行与管理相关的调用,并在角度方面检查是否允许用户使用其拥有的角色打开 UI。对于 Angular,有一些 acl 模块,例如:github.com/mikemclin/angular-acl
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |