【发布时间】:2025-12-02 08:15:01
【问题描述】:
我有一个 ASP.Net WebAPI2 网站,它有一个实现 OWIN 令牌服务的 /token。该服务在我的网站上运行良好,我可以使用其他客户端并按预期从我的 PC 和 Android 手机获取令牌。
但是,当我从部署在我的 android 手机 KitKat OS 上的 ionic 项目中调用该服务时,我得到了 {"error":"unsupported_grant_type"}。它在同一个 wifi 上,所以我可以使用休息客户端并使用它获取令牌。
这是我正在使用的角度代码:
.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 比较陌生,我想知道是否有人遇到过类似的问题。
【问题讨论】:
-
我建议您将您的编辑作为答案并接受它
标签: angularjs asp.net-web-api ionic visual-studio-cordova