のためのAzureのActive Directory(AAD)で、私はサービス・ファブリック・クラスタにデプロイサービス・ファブリック・アプリケーション(ステートレスとステートフル)を持っています。私はアプリケーションにセキュリティを実装しようとしています。アプリケーションは、Active Directory認証ライブラリ(ADAL)を使用して、クライアント認証情報がパスワードであるOAuth 2.0クライアント認証情報フローを使用してAzure ADからトークンを取得します。 Azureポータルに登録することで、通常のWebアプリケーションで同じシナリオを実装できます。 Owinを使用して公開されたWebApiでサービスファブリックマイクロサービスアプリケーションを登録する方法を教えてもらえますか?私は、URLが動的であるので(statefullのpartitionidとreplica idのために)、返信urlを登録してURLに署名するのが難しいです。私は、対応するサービスを呼び出す際に不正アクセスを受けます。 azureのアクティブディレクトリにアプリケーションを追加するときに、ステートフルまたはステートレスアプリケーションのURLを登録する必要があるかどうかはわかりません。私が間違っている箇所や実装するべきことを教えてください。登録MicroServicesセキュリティ
答えて
Owinを使用して公開されたWebApiでサービスファブリックマイクロサービスアプリケーションを登録する方法を教えてもらえますか。私は、URLが動的であるので(statefullのpartitionidとreplica idのために)、返信urlを登録してURLに署名するのが難しいです。
クライアント資格フローは、サービスまたはデーモンアプリで使用されます。 クライアント資格フローを使用してトークンを取得する場合は、redirect_urlを使用する必要はありません。任意のvalidate redirect_urlを登録できます。ここでは、クライアントの資格情報を使用している例である:
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 >
をそして、Azureのサービスの生地を使用してWeb APIとAzureのADと統合することと同じです。
1:ここではあなたの参照のための一例です。 AzureポータルでWeb APIを保護するためのWebアプリケーション(app1)を登録してください
2ウェブAPI
3を要求するクライアントとしてWebアプリケーション(APP 2)を登録。ポータル
4からAPP2するAPP1を付与します。 ステートレスWeb APIテンプレート
5でサービスファブリックアプリケーションを作成します。サービスファブリックアプリケーションのapp.configを設定します。
<add key="ida:Audience" value="app id Uri of app1" />
<add key="ida:Tenant" value="tenantId" />
6。パッケージにMicrosoft.Owin.Security.ActiveDirectory
Install-Package Microsoft.Owin.Security.ActiveDirectory
7をインストールするには、以下のようなスタートアップコードを変更:(注:メソッドappBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication
はappBuilder.UseWebApi(config)
の前にあります。
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);
}
-
上記クライアント資格フロー使用トークン(のclientId及びclientSecretはAPP2からである)を取得
ありがとう..それで問題は解決しました。間違い。私は、紺碧広告の設定登録後にappBuilder.UseWebApi(config)を配置しました。 –
- 1. サーバーに登録するセキュリティ
- 2. SpringCloud Microservices JSON Webトークン(JWT)セキュリティ
- 3. 春のセキュリティ設定ロールオン登録
- 4. Springセキュリティ:SpringセキュリティがSessionRegistryに新しいセッションを登録する方法は?
- 5. 登録自動入力検証セキュリティ/プライバシーに関する懸念
- 6. 春のセキュリティを使用してフォームに登録する
- 7. 春のセキュリティを持つ新規ユーザーの作成/登録?
- 8. 春セキュリティ名前空間によって登録される豆
- 9. Facebook登録プラグイン:登録ライフサイクル管理(登録解除)
- 10. 登録プラグイン、登録データにアクセス
- 11. Rails 3段階の登録で登録
- 12. データベースに登録する登録フォームPHP
- 13. 登録ユーザーと未登録のユーザー
- 14. 登録時のジャンゴ登録のリダイレクト
- 15. 登録と自動ストレージクラスの登録?
- 16. Django登録控除登録フォーム
- 17. 登録
- 18. django登録URL
- 19. ウィンザーコンテナ登録
- 20. 登録ホットキー
- 21. Facebook登録プラグインリダイレクト
- 22. captcha登録フォーム
- 23. NinjectHttpApplicationコントローライベント登録
- 24. Yii登録システム
- 25. ログインシステム/ユーザ登録
- 26. IServiceGatewayFactory IOC登録
- 27. 登録ジェネリック型
- 28. SQLAlchemyイベント登録
- 29. VueJSコンポーネント登録
- 30. オートモジュールモジュール登録
あなたが行ったことのいくつかのコードは助けることができます。 – Peter
私はここで述べたのと同じ手順に従っています。[https://github.com/Azure-Samples/active-directory-dotnet-daemon]ここでTodoListServiceはクラウドクラスターにデプロイされたowinを使って公開されたweb APIを使って、 。私は、返信とサインオンのURLを設定する必要があるかどうかはわかりません。私は以下のように完全なURLと部分的なURLを提供する方法を試しました 部分URL:http:// localhost:8082/SampleMa/ 完全なURL:\t http:// localhost:8082/SampleMa/9ac178c1-0f43- 4c9e-a816-546546e50cea/131250461563590773/688ff0f2-b980-437a-95ec-527645a5d107 –
この {テナント= "testad.onmicrosoft.com" するvar Y =新規WindowsAzureActiveDirectoryBearerAuthenticationOptionsに使用される構成であり、 TokenValidationParameters =新しいSystem.IdentityModel .Tokens.TokenValidationParameters { SaveSigninToken = true、 ValidAudience = "https://testad.onmicrosoft.com/SampleMa" } }; appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(y); デーモンコンソールアプリケーション –