我有 2 个用 .net core 2.2 编写的 webAPI。这 2 个 web api 是由 web 作业触发的,它们是 .netcore 2.2 中的控制台应用程序。它们都是不同的项目,并且位于 Azure DevOps 中的不同存储库中。
我正在尝试使用 Azure DevOps 构建和发布管道将 Web Api 与 webjob 一起部署到 Azure 中的 2 个 Web 应用服务(例如:WebApi1 + Web job1 到 App service1 和 WebApi2 + Web job2 到 App service2)中。
我可以从 Azure 门户将 webjobs 手动添加到应用服务中,并且工作正常。但我想使用 Azure DevOps 管道部署它。
我尝试了不同的方法来使用应用服务中的 web api 发布 web 作业(控制台应用程序),例如尝试将其从 Azure DevOps 发布到 App_Data 文件夹。
我主要关注下面的博客。
但是当我尝试发布 webjob 时,它会覆盖 web api 代码(所有 4 个项目都有单独的构建/发布管道)。webjob 代码部署在 …
我有一个 asp.netcore MVC 应用程序,它将 access_token 传递给下游 API。
经过一番努力,我弄清楚了如何使用 MSAL.Net 获取 access_token。但访问令牌每小时都会过期,因此我必须刷新它。所以我使用 AcquireTokenSilent 接受帐户作为参数。
我的 Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.Events= new CookieAuthenticationEvents()
{
OnValidatePrincipal = OnValidatePrincipal
};
})
.AddOpenIdConnect(options =>
{
options.Authority = "https://login.microsoftonline.com/{tenantId}/v2.0";
options.ClientId = Configuration["AzureAD:ClientId"];
options.ClientSecret = Configuration["AzureAD:ClientSecret"];
options.CallbackPath = Configuration["AzureAD:CallbackPath"];
options.ResponseType = "code id_token";
options.Scope.Add("openid");
options.Scope.Add("profile");
options.Scope.Add("offline_access");
options.Scope.Add("api://{ClientidOfAPI}/user_impersonation"); …Run Code Online (Sandbox Code Playgroud) 我是天蓝色 AD 的新手。
我有一个第三方 API,它为我提供了 userId。我编写了一个 .NET Core API,它应该采用此用户 ID 并获取该特定用户的角色和组。
我读过有关 microsoft graph API 的内容。不确定这在我的场景中是否有用。
还有其他方法可以以编程方式访问 AD 用户的角色和组吗?