Я пробую вот так:
$http({ method: 'POST', url: '/token', data: { username: $scope.username, password: $scope.password, grant_type: 'password' } }).success(function (data, status, headers, config) {
$scope.output = data;
}).error(function (data, status, headers, config) {
$scope.output = data;
});
затем попытался изменить параметр grant_type на параметр:
$http({ method: 'POST', url: '/token', data: { username: $scope.username, password: $scope.password }, params: { grant_type: 'password' } }).success(function (data, status, headers, config) {
$scope.output = data;
}).error(function (data, status, headers, config) {
$scope.output = data;
});
По-прежнему страшно: {"error":"unsupported_grant_type"}
Итак, я делаю то, что разработчик AngularJS не должен делать, прибегает к jQuery:
var data = $('#regForm').serialize() + "&grant_type=password";
$.post('/token', data).always(showResponse);
function showResponse(object) {
$scope.output = JSON.stringify(object, null, 4);
$scope.$apply();
};
Что работает как чемпион... так что мой вопрос: как мы реплицируем вызов jQuery $.post()
выше, используя AngularJS $http()
, чтобы мы могли захватить токен доступа из конечной точки промежуточного программного обеспечения OWIN/endken в ASP.NET Web API 2?