本文介绍了Angular.js 401未经授权的状态码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想获取用于身份验证的访问令牌.我的帖子结果是
POST 401(未经授权)
解决方案以下是解决您问题的建议;
使用 cors 模块(不需要);
服务器端
我认为您的护照代码正常运行.
var cors = require('cors');//先初始化.app.options(cors({origin'*'}));//使用您的血统.app.use(cors({origin'*'}));//使用您的血统.客户端
只需删除标题选项
//...$ http.post('staj-io-goldenilkay92-1.c9.io/api/v1/oauth/token',数据).success(功能(响应,状态,标头,配置){deferred.resolve(response);}).error(function(){deferred.reject(登录失败");});//...I want to get access token for authentication. My post result like
POST staj-io-goldenilkay92-1.c9.io/api/v1/oauth/token 401 (Unauthorized)
but when I try to post with postman it works.
Server Side Headers
res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization'); res.setHeader('Access-Control-Allow-Credentials', 'true'); res.header('Content-Type', 'application/json');Angular Code
Service
function signIn(data) { var deferred = $q.defer(); $http.post('staj-io-goldenilkay92-1.c9.io/api/v1/oauth/token', data, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}} ) .success(function (response, status, headers, config) { deferred.resolve(response); }).error(function () { deferred.reject("Failed to login"); }); return deferred.promise; }controller
vm.loginData = { 'client_id': 'client', 'client_secret': 'client', 'grant_type': 'password', 'username': '', 'password': '' }; vm.login = function login() { loginService.signIn(vm.loginData).then(function (result) { vm.signInResult = result; }, function (data) { }); }POST staj-io-goldenilkay92-1.c9.io/api/v1/oauth/token 401 (Unauthorized)
解决方案Here is suggestions to solve your problem;
Use cors module (not required);
Server Side
I assume that your passport code working properly.
var cors= require('cors'); //init first. app.options(cors({origin'*'})); //Use your origins. app.use(cors({origin'*'})); //Use your origins.Client Side
Just delete headers options
//... $http.post('staj-io-goldenilkay92-1.c9.io/api/v1/oauth/token', data) .success(function (response, status, headers, config) { deferred.resolve(response); }).error(function () { deferred.reject("Failed to login"); }); //...
更多推荐
Angular.js 401未经授权的状态码
发布评论