? - 同じ MVC 4 ホステッド サービス スタック Web サービス内に複数の認証プロバイダーを持つことは可能ですか? 異なるレベル/タイプの認証を必要とする内部および外部サービスを利用する複数のエンドポイントを持つことになります。
URL に応じて異なる認証プロバイダーが使用されるように、ニーズに合わせていくつかのカスタム プロバイダーを最初に実装する必要があります。
? - 同じ MVC 4 ホステッド サービス スタック Web サービス内に複数の認証プロバイダーを持つことは可能ですか? 異なるレベル/タイプの認証を必要とする内部および外部サービスを利用する複数のエンドポイントを持つことになります。
URL に応じて異なる認証プロバイダーが使用されるように、ニーズに合わせていくつかのカスタム プロバイダーを最初に実装する必要があります。
はい。複数のプロバイダーを使用できます。次に、内部レベルと外部レベルを管理するために、さまざまなリソース (url) に対してさまざまな役割を持つことができます。
https://github.com/ServiceStack/SocialBootstrapApiサンプル プロジェクトをご覧ください。この例には、さまざまな認証プロバイダーが多数含まれています。各認証プロバイダーはパス /auth/{provider} に解決され、カスタム プロバイダーの IAuthProvider.Provider プロパティとビルドイン プロバイダーを使用してプロバイダーが解決されます。
使用する各認証プロバイダーを登録する必要があります。
//Register all Authentication methods you want to enable for this web app.
Plugins.Add(new AuthFeature(
() => new CustomUserSession(), //Use your own typed Custom UserSession type
new IAuthProvider[] {
new CredentialsAuthProvider(),
new TwitterAuthProvider(appSettings),
new FacebookAuthProvider(appSettings),
new DigestAuthProvider(appSettings),
new BasicAuthProvider(),
new GoogleOpenIdOAuthProvider(appSettings),
new YahooOpenIdOAuthProvider(appSettings),
new OpenIdOAuthProvider(appSettings),
}));
次に、次のようなさまざまな URL にアクセスしてログインできます。