我有一个Angular应用程序,它在localstorage中存储JWT令牌以提供身份验证.我想要做的是弄清楚如何获取这个JWT令牌并将其插入HTTP GET请求,该请求呈现为一个全新的网页(不是来自XMLHTTP请求的返回对象,显示在同一页面中……) .
这可能吗?我发现做类似事情的唯一方法是使用基本的HTTP授权,例如:
用户名:password@www.hypotheticalwebsite.com
而且我假设我可以在那里通过我的整个JWT.
我正在使用Express.js来处理我的Node.js后端上的路由.
最佳答案
只需从您的语言环境存储中读出JWT,然后将JWT插入授权标题,或者您可以将其添加为GET参数.
原文链接:https://www.f2er.com/js/428964.html我会推荐标题.
在旁边简单阅读JWT.
如果需要在express实例的所有页面上进行处理,请在express-middleware中进行.
更新
如果要使用普通链接,则必须使用参数,如?auth_token = 12345.
调节器
$scope.openLink = function() {
var config = {
headers: {
'Authorization': '12345',}
};
$http.get("
视图
屏蔽管理界面
为了安全起见,您应该在api中添加角色,并且只允许管理员对管理员进行相关调用,并且如果允许用户打开具有用户角色的UI,则还要检查角度方面.对于角度,有一些acl模块,如:github.com/mikemclin/angular-acl