为安全起见,在Azure Active Directory(AAD)中注册微服务
我在ServiceFabric集群中部署了一个ServiceFabric应用程序(无状态和状态完整)。我正在尝试在应用程序中实现安全性。应用程序使用Active Directory身份验证库(ADAL)使用OAuth 2.0客户端凭据流从Azure AD获取令牌,其中客户端凭据是密码。通过在Azure portal中注册,我能够在普通web api应用程序中实现相同的场景。有谁能告诉我如何在使用Owin公开的WebApi中注册service fabric microservice应用程序。我很难注册回复url和登录url,因为url是动态的(对于statefull分区id和副本id)。我在调用相应服务时收到未经授权的访问。我不确定在azure active directory中添加应用程序时,必须为状态完整或无状态应用程序注册哪个url。你能告诉我哪里错了,怎么做才能实现吗 有谁能告诉我如何在使用Owin公开的WebApi中注册service fabric microservice应用程序。我很难注册回复url和登录url,因为url是动态的(对于statefull分区id和副本id) 客户端凭据流用于服务或守护程序应用程序。当我们使用客户端凭证流获取令牌时,不需要使用重定向url。您可以注册任何验证重定向url。以下是使用客户端凭据的示例:为安全起见,在Azure Active Directory(AAD)中注册微服务,azure,asp.net-web-api,owin,azure-active-directory,microservices,Azure,Asp.net Web Api,Owin,Azure Active Directory,Microservices,我在ServiceFabric集群中部署了一个ServiceFabric应用程序(无状态和状态完整)。我正在尝试在应用程序中实现安全性。应用程序使用Active Directory身份验证库(ADAL)使用OAuth 2.0客户端凭据流从Azure AD获取令牌,其中客户端凭据是密码。通过在Azure portal中注册,我能够在普通web api应用程序中实现相同的场景。有谁能告诉我如何在使用Owin公开的WebApi中注册service fabric microservice应用程序。我很难
POST https://login.microsoftonline.com/<tenantId>/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id=<clientId>
&client_secret=<clientSecret>
&resource=<app id uri of your web api >
七,。修改启动代码,如下所示:(注意:方法appBuilder.UseWindowsAzureActiveDirectoryBeareAuthentication
在appBuilder.UseWebApi(配置)
之前
一些关于您所做工作的代码可以帮助您。我将遵循这里提到的相同步骤。[此处的TodoListService是一个服务结构状态完整服务,使用部署在云集群中的owin公开web api。我不确定必须配置什么样的回复和登录url。我尝试了提供完整url和部分url的两种方法,如下所述,部分url:完整url:这是va中使用的配置r y=new-WindowsAzureActiveDirectoryBeareAuthenticationOptions{Tenant=“testad.onmicrosoft.com”,TokenValidationParameters=new-System.IdentityModel.Tokens.TokenValidationParameters{SaveSigninToken=true,ValidAudience=”“};appBuilder.UseWindowsAzureActiveDirectoryBeareAuthentication(y);我总是收到来自守护程序控制台的未经授权的相应调用appI甚至尝试将通配符添加到url,但该方案也不起作用..谢谢..解决了问题..我只是犯了一个错误。我放置了appBuilder.UseWebApi(配置)azure ad配置注册后。。
<add key="ida:Audience" value="app id Uri of app1" />
<add key="ida:Tenant" value="tenantId" />
Install-Package Microsoft.Owin.Security.ActiveDirectory
public static void ConfigureApp(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuer = false
}
});
appBuilder.UseWebApi(config);
}