Ошибка «Недопустимая подпись» для токена доступа (azure активный каталог / msal js) - PullRequest
1 голос
/ 13 января 2020

Я использовал MSAL JS для аутентификации пользователя и последующего вызова acquTokenPopup (scopes) для токена доступа.

Я получаю токен доступа, но не могу использовать его, как говорится Недопустимая подпись . (проверил в jwt.io тоже - та же ошибка)

По форуму я обнаружил, что это связано с добавлением Graph nonce. Каким будет решение? Пожалуйста, помогите.

Ниже приведен код.

tenantConfig = {
    scopes: ["directory.read.all"]
};

this.clientApplication.acquireTokenSilent (this.tenantConfig.scopes) .then (function (accessToken) {

            },
            function (error) {
                console.log(error);
                this.clientApplication
                    .acquireTokenPopup(this.tenantConfig.scopes)
                    .then(
                        function (accessToken) {

                            console.log("access token   " + accessToken);
                        },
                        function (error) {
                            alert(error);
                        }
                    );
            }
        );

Ответы [ 2 ]

0 голосов
/ 23 января 2020

При использовании MSAL ваш параметр области должен быть «[CLIENT_ID] /. Default». js и если вы не используете graph api:

var requestObj = {
  scopes:["[CLIENT_ID]/.default"]
};

Если вы намереваетесь использовать график api, Параметр scopes отличается:

var ResourceId = "https://graph.windows.net/";
var scopes = [ ResourceId + "Directory.Read", ResourceID + "Directory.Write"];

В приведенном здесь примере https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-javascript-spa используется Graph API и генерируется специфицированный c токен для Graph API, измените параметр Scopes, если необходимо создать токен доступа для других целей.

Дополнительные сведения о параметре областей действия: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-v1-app-scopes#scopes -в запрос-доступ-ко-всем-разрешениям-v-v10-приложения

0 голосов
/ 13 января 2020

Это не имеет значения. Просто измените алгоритм на HS256 в jwt.io, тогда подпись будет проверена.

enter image description here

токен доступа должно быть хорошо. Просто убедитесь, что вы добавили Diretory.Read.All разрешение на Azure портале и предоставили согласие администратора.

enter image description here '

Справка:

API графа вызовов из JavaScript одностраничного приложения с использованием msal. js

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