服务堆栈认证

时间:2012-10-17 07:38:02

标签: servicestack

? - 是否可以在同一个MVC 4托管服务堆栈Web服务中拥有多个身份验证提供程序,我们将有多个端点利用需要不同级别/类型身份验证的内部和外部服务。

我最初需要实现一些自定义提供程序以满足我们的需求,以便根据URL使用不同的身份验证提供程序,到目前为止,我只找到了提供单个自定义身份验证提供程序的示例。

1 个答案:

答案 0 :(得分:1)

是。您可以使用多个提供商。然后,您可以拥有不同资源的不同角色(网址)来管理您的内部与外部关卡。

查看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),     
}));

然后你可以通过点击

之类的不同网址来登录
  • / AUTH /实
  • / AUTH /微博