我正在尝试从一个azure函数的请求中获取access_token和它的声明。
在header中设置了承载令牌,但我无法获得使用函数的FunctionsStartup的声明。
可以在azure函数中获取声明吗?如果是,请谁能提供一个例子?
我试了一整天,也在寻找,但我找不到一个明确的例子。
提前感谢!
编辑:
当我在函数的FunctionsStartup中添加授权时,出现下一个错误。builder.Services.AddAuthorization()
我已经通过services.AddAuthentication("Bearer").AddJwtBearer((Action):JwtBearer配置了身份验证

发布于 2020-04-28 03:10:48
您可以通过使用Azure函数的声明原则绑定来做到这一点。
using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
public static IActionResult Run(HttpRequest req, ClaimsPrincipal principal, ILogger log)
{
// ...
return new OkResult();
}请参阅:http://sadomovalex.blogspot.com/2018/12/get-current-users-principal-in-azure.html
发布于 2020-07-06 08:44:43
从我的Azure函数获取声明时,我也遇到了一些问题。我最终从HttpRequestMessage对象本身获得了它们,如下所示:
var principal = req.GetRequestContext().Principal as ClaimsPrincipal;
var roles = principal.Claims.Where(e => e.Type == "roles").Select(e => e.Value); log.Info(string.Join(",", roles));请注意,我使用的是Microsoft.NET.Sdk.Functions版本1.0.37,不确定这是否适用于您的场景,但您可以尝试一下。
微软已声明不应使用ClaimsPrincipal.Current,因此该选项可能不适用于您的https://docs.microsoft.com/en-us/aspnet/core/migration/claimsprincipal-current?view=aspnetcore-2.1
https://stackoverflow.com/questions/61466012
复制相似问题