簡體   English   中英

cordova項目給出了unsupported_grant_type錯誤,但在瀏覽器上也可以使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM