Использование ADAL Angular 6 Wrapper для вызова API - PullRequest
0 голосов
/ 18 мая 2018

Я следовал руководству по созданию приложения Angular 6, которое использует библиотеку ADAL для оболочки angular, чтобы получить токен-носитель из Azure AD и использовать его для вызова моего API.

Учебник: https://spikesapps.wordpress.com/2017/07/27/securing-an-angular-application-with-azure-ad/

Аутентификация и получение токена работает нормально, но затем я пытаюсь вызвать мой API:

 this.http
                .get('https://foo.azurewebsites.net/' + this.url, this.prepareOptions())
                .pipe(
                map((r: Response) => {
                    const a = r['data'] as BIExplorerSettings;
                    if (a) {
                        this.BIExplorerSettings = a;
                        this.alreadyFetchedSettings = true;
                    }
                    return a;
                }))

prepareOptions(): any {
    let headers = new HttpHeaders();
    headers = headers
        .set('Content-Type', 'application/json')
        .set('Authorization', `Bearer ${this.adal6Service.userInfo.token}`);
    return { headers };
}

Но мое приложение НЕ вызывает API под "https://foo.azurewebsites.net/". Вместо этогопереход на веб-сайт корпорации Майкрософт, например:

https://login.microsoftonline.com/foo.com/oauth2/authorize?response_type=token&client_id=xxxxxxx-xxx-xxx-xxxxx-xxxxx&resource=xxxxxxx-2342-xxxx-xxxx-0292xxxxxx&redirect_uri=http%3A%2F%2Flocalhost%3A4200%2Fframe%2Fportal%2Fhome&state=a99xxxx7-xxx6-xxxc-a7b5-9xxxxx4c%7Cbceb8191-2342-4xxx-b48b-029xxxxxd4a&client-request-id=50xxxx9-fa10-xxxx-9e36-bbf9062xxxx&x-client-SKU=Js&x-client-Ver=1.0.16&prompt=none&login_hint=username%40foo.com&domain_hint=foo.com

Меня это смущает. Я только хочу перенаправить свой токен на мой API. Но по какой-то причине клиент-упаковщик ADAL переходит на Microsoftстр.

Есть ли какие-либо обвинения, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

microsoft-adal-angular6 Если вы используете angular 6+, вы можете использовать этот пакет, он гораздо проще и удобнее https://www.npmjs.com/package/microsoft-adal-angular6

Более того, вам нужно добавить URL перенаправления входа и выхода вВаш Azure рекламный аккаунт в службе приложений

0 голосов
/ 10 августа 2018

Необходимо проверить, есть ли у веб-сайта разрешения на доступ к API, и неявный поток в манифесте имеет значение true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...