我无法通过https://github.com/sahat/satellizer
找出导致此错误的原因satellize.js配置
withCredentials: !1,
tokenRoot: null,
cordova: !1,
baseUrl: "/#",
loginUrl: "/auth/login",
signupUrl: "/auth/signup",
unlinkUrl: "/auth/unlink/",
tokenName: 'token',
tokenPrefix: "satellizer",
authHeader: "Authorization",
authToken: "Bearer",
storageType: "localStorage",
app.js .config(function($ authProvider){
$authProvider.facebook({
clientId: '******'
});
$authProvider.google({
clientId: '****'
});
})
控制器
$scope.socialLogin = function(provider) {
$auth.authenticate(provider)
.then(function(data) {
toastr.success('You have successfully signed in with ' + provider + '!');
$rootScope.$broadcast('session',2)
})
.catch(function(error) {
if (error.error) {
// Popup error - invalid redirect_uri, pressed cancel button, etc.
toastr.error(error.error);
} else if (error.data) {
// HTTP response error from server
toastr.error(error.data.message, error.status);
} else {
toastr.error(error);
}
});
};
此处需要一个名为token的令牌错误
广播时调用服务 api / me 404错误
var app = angular.module('app');
app.factory('Account', function($http) {
return {
getProfile: function() {
return $http.get('api/me');
},
updateProfile: function(profileData) {
return $http.put('api/me', profileData);
}
};
});
我已经尝试了github页面上的所有变体,但似乎并不是一个可靠的解决方案。
认为这可能是因为网址中的# 将基本网址更改为/#并出错。
我添加了
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
那也不起作用,我做错了什么?
答案 0 :(得分:1)
我认为错误是从服务器返回JSON响应时。 JSON响应的格式应采用格式。
{ "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.yRQYnWzskCZUxPwaQupWkiUzKELZ49eM7oWxAQK_ZXw"}
请检查您获得的JSON响应。如果您需要更多信息,请查看您提供的GitHub链接的问题标签。