Функции Azure v2 и Google Auth - PullRequest
       7

Функции Azure v2 и Google Auth

0 голосов
/ 18 ноября 2018

Я настроил свои функции Azure 2 в порядке, описанном в этом посте https://blogs.msdn.microsoft.com/stuartleeks/2018/02/19/azure-functions-and-app-service-authentication/

Я могу позвонить в конечную точку /.auth/login/google с токеном Google и получить простой аутентификациюtoken.

И я могу вызвать конечную точку /.auth/me и получить обратно информацию о моем профиле.

Но в моем коде Thread.CurrentPrincipal.Identity равен нулю.Я не могу найти решение этой проблемы.Я подтвердил, что мой запрос имеет заголовок x-zumo-auth, установленный на простой токен авторизации, полученный из конечной точки входа в систему.И, конечно, функция настроена на анонимность.

Надеюсь, мне не хватает чего-то простого.Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

С 28 ноября 2018 года эта функция теперь в предварительном просмотре. Эта возможность доступна только во время выполнения функций 2.x. В настоящее время он также доступен только для языков .NET.

ClaimsPrincipal доступен как часть контекста запроса как показано в следующем примере:

using System.Net; 
using Microsoft.AspNetCore.Mvc; 
using System.Security.Claims;

public static IActionResult Run(HttpRequest req, ILogger log)
{
    ClaimsPrincipal identities = req.HttpContext.User;
    // ...
    return new OkResult();
}

В качестве альтернативы, ClaimsPrincipal может быть просто включен как дополнительный параметр в сигнатуре функции:

using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
using Newtonsoft.Json.Linq;

public static void Run(JObject input, ClaimsPrincipal principal, ILogger log)
{
    // ...
    return;
}

Ссылка: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#working-with-client-identities

0 голосов
/ 18 ноября 2018

Нашел ответ, но все же я удивлен, что не хватает ясности.

https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-overview

Для функций Azure ClaimsPrincipal.Current не гидратируется для кода .NET, но вы все равно можете найти утверждения пользователя в заголовках запроса.

Но есть бесчисленные примеры, когда я вижу, как люди ссылаются на это в функциях Azure, как будто они должны быть увлажнены.

Я действительно нахожу утверждения, как и ожидалось, в заголовках и буду работать с этим, но я чувствую, что мне все еще чего-то не хватает ...

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