[英]cordova project gives unsupported_grant_type error but same works on browser
我有一個ASP.Net WebAPI2網站,該網站具有實現OWIN令牌服務的/ token。 這項服務在我的網站上正常工作,我可以使用其余客戶端,並從PC和Android Phone上按預期方式獲得令牌。
但是,當我從部署在Android手機KitKat OS上的離子項目內部調用服務時,我得到{"error":"unsupported_grant_type"}
。 它在同一個wifi上,因此我可以使用rest客戶端並使用該客戶端獲取令牌。
這是我正在使用的角度代碼:
.service('LoginTokenService', ['$resource', function ($resource) {
function getToken(payLoad, fnSuccess, fnError) {
return $resource("http://192.168.1.104/token", {},
{
"getAuthToken": {
method: "POST",
isArray: false,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
}
})
.getAuthToken(payLoad, fnSuccess, fnError);
}
return ({
getToken: getToken
});
同樣在我的webapi代碼上,我設置了選項app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
像下面
public void ConfigureAuth(IAppBuilder app)
{
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
// Mounts the middleware on the provided app with the options configured
// above
app.UseOAuthBearerTokens(OAuthOptions);
}
此外, payLoad
包含UserName='myuser@domain.com', Password='my_password' & grant_type='password'
因為我對Ionic和Cardova還是比較陌生,所以我想知道是否有人遇到過類似的問題。
我想我知道這個問題。 在我的網站上,我使用$.param(payload)
將登錄信息發送到/ token服務,但是由於默認情況下Iionic無法使用JQuery,因此我將其刪除了。
我現在使用$httpParamSerializerJQLike(payLoad)
來序列化有效負載及其工作狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.