Azure AD B2 C -> OAuth2 -> Azure Функция App Token Exchange - PullRequest
0 голосов
/ 24 января 2020

Я довольно новичок в аутентификации, обмене токенами и Azure AD B2 C.

Я построил на своем портале клиент Azure AD B2 C и установил для URI перенаправления значение localhost (функция Azure, которую я запускаю локально в Visual Studio). Я знаю, что после того, как браузер перенаправит вас на URI перенаправления, он пропустит код авторизации через URI, я смогу сохранить этот код как переменную в своей функции, но боюсь, что потерян, что делать после этого , VS

 [FunctionName("Login")]
        public static string Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {

            string name = req.Query["code"];
            return name;
        }

Я знаю, что должен сделать запрос POST к конечной точке / token, но когда я передаю код авторизации, я получаю этот ответ в почтальоне

{
    "error": "invalid_request",
    "error_description": "AADSTS900144: The request body must contain the following parameter: 'grant_type'.\r\nTrace ID: a79790d9-5ab8-488e-bd5a-0e1feecd1d00\r\nCorrelation ID: 6f065d48-61d3-4193-99bf-e14f3a6951aa\r\nTimestamp: 2020-01-23 20:45:33Z",
    "error_codes": [
        900144
    ],
    "timestamp": "2020-01-23 20:45:33Z",
    "trace_id": "a79790d9-5ab8-488e-bd5a-0e1feecd1d00",
    "correlation_id": "6f065d48-61d3-4193-99bf-e14f3a6951aa",
    "error_uri": "https://login.microsoftonline.com/error?code=900144"
}

Из своей функции как передать эти параметры в тело конечной точке / token? Любая помощь будет оценена. Лучший.

1 Ответ

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

Эта ошибка означает, что вы используете конечную точку токена AAD, а не конечную точку токена AAD B2 C.

Здесь указаны правильные конечные точки для AAD B2 C. https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oidc#send -Authentication-запросов

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