Я использую webView для создания мобильного приложения. Это означает, что мы пишем в HTML/JS, размещенном локально (файловая система), получая данные от API. Используя ADAL.js
Я получил id_token
, пытаясь использовать его для получения токена аутентификации, так как described here приводит к 401 Unauthorized
.Azure Active Directory Access Token от Id Token
Отсутствует какая-то конфигурация?
Запрос:
POST https://myAMS.azure-mobile.net/login/aad HTTP/1.1
Host: myAMS.azure-mobile.net
Connection: keep-alive
Content-Length: 1264
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, */*; q=0.01
Origin: file://
Authorization: Bearer ey...Ww
User-Agent: Mozilla/5.0 (Linux; Android 4.4.4; en-us; Nexus 4 Build/JOP40D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2307.2 Mobile Safari/537.36
Content-Type: application/json
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
access_token=ey...Ww
Response
HTTP/1.1 401 Unauthorized
Content-Length: 0
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic realm="Service"
Access-Control-Allow-Origin: *
X-Powered-By: ASP.NET
Date: Mon, 27 Jul 2015 10:47:45 GMT
Что делать, если мы не используем кордову? – JNF
Если вы строите все с нуля, у вас могут быть проблемы. Плагин ADAL Cordova использует собственные библиотеки ADAL для каждой платформы, которые, в свою очередь, реализуют сложную логику кэширования и сбора данных. Если вы просто используете ADAL JS или переделаете его, чтобы адаптировать его для работы в веб-представлении, вы потеряете все эти функции - так как веб-представление изолировано от реального устройства. Позвольте мне подчеркнуть это: вы можете использовать ADAL JS в сценарии, отличном от SPA, но вы должны ожидать ударов, поскольку это не та настройка, для которой она была разработана. – vibronet
Мы получаем доступ к родным, но через другой движок (внутренний). Любой пример, который не требует прохождения через кучу Углового? ... – JNF