【问题标题】:Authentication with Azure using OAuth2 for an ionic mobile app使用 OAuth2 对 ionic 移动应用进行 Azure 身份验证
【发布时间】:2016-02-01 14:53:04
【问题描述】:

我一直在尝试通过使用 HTTP Angular 服务发布用户名和密码来从 Azure AD 检索令牌。不幸的是,我总是收到这个错误:

加载资源失败:服务器响应状态为 400(错误请求) 它抱怨以下内容:“请求正文必须包含以下参数:'grant_type'

有人知道这是怎么回事吗?

这是我的登录控制器,我已经设置了 Azure AD。

函数访问() {

  var username = vm.username.trim();
  var password = vm.password.trim();

  requestAccessToken(username, password);
}

函数requestAccessToken(用户名、密码){

  var base_url = 'https://login.windows.net';

  var client_id = "35d16a1c-3f01-402a-9346-ee13b0aa2ba0";

  var params = '?grant_type=password&client_id=' + client_id + '&username=' + username + '&password=' + password;

  var path = "/4397b89d-d9d7-4d27-9cac-f7ae0ff0d880/oauth2/token";
  //var path = "/common/oauth2/token"; we have tried this one too

  var url = base_url + path + params;
  $http.post(url).success(getAccessTokenSuccess).error(getAccessTokenFailure);
}

function getAccessTokenSuccess(data, status, header, config) {
  console.log('data: ', data);
}

function getAccessTokenFailure(data, status, header, config) {
  console.log('data: ', data);
}

【问题讨论】:

    标签: angularjs azure oauth-2.0 ibm-mobilefirst


    【解决方案1】:

    看起来您需要在请求正文中发送grant_url(这意味着 HTTP 请求可能是 POST),而不是作为查询参数,这就是您正在做的。

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 2016-06-28
      • 2020-02-01
      • 1970-01-01
      • 2012-07-22
      • 2013-06-24
      • 2021-04-04
      • 1970-01-01
      • 2016-12-03
      相关资源
      最近更新 更多