我使用科爾多瓦離子,這是由與的oauth2集成遠程服務器認證創建小移動應用程序。
首先,我試圖獲得acccess_token
,然後使用該access_token
我試圖訪問其他資源。
這就是我試過的。
function getToken(user){
var username=user.userName;
var password = user.password;
var authResponse;
var access_token;
var headers = {
'Authorization': 'Basic ' + TOKEN_ENDPOINT.basicAuth,
//'Content-Type': 'application/x-www-form-urlencoded',
'Access-Control-Allow-Origin':'*'
}
$http.defaults.headers.common.Authorization='Basic ' + TOKEN_ENDPOINT.basicAuth;
$http({
method: "POST",
headers: headers,
url: 'http://remote/oauth/',
}).then(function (data, status) {
if (status == '200') {
access_token=data.access_token;
console.log("Auth.signin.success!")
console.log(data);
}
})
return access_token;
}
這是我想使用access_token
:
var goToProfile=function(user){
var token = getToken(user);
if(token != null){
$http({
method:'POST',
url:(API_ENDPOINT.url+'/profile',user),
param:{access_token:token}
}).then(function(result){
console.log(result.data.success);
console.log("Successfully signed in");
})
}else{
console.log('dasd');
}
}
所以問題是,getToken
方法總是返回undefined
。我可以看到access_token
。所以我怎麼能得到access_token
。
的問題是,你要編寫異步代碼,就好像是同步的。 – Casey
感謝您的支持。所以我怎麼能讓它同步呢? – Ameger