servicestack,C#,Authentication,servicestack" /> servicestack,C#,Authentication,servicestack" />

C# 如何在ServiceStack中使用自定义身份验证路由实现注销

C# 如何在ServiceStack中使用自定义身份验证路由实现注销,c#,authentication,servicestack,C#,Authentication,servicestack,简单的问题,我有下面的代码来指定使用自定义CredentialAuthProvider进行用户身份验证的路径(使用我在文档中找到的内容组合在一起) 但是文档中关于注销功能的内容很少。这是我必须像所有其他API调用一样构建到服务中的自定义路由,还是我可以使用配置选项 另外,我目前正在使用swagger插件来记录和测试我的服务,但它向我显示了/user/auth路由为'get'启用,如果可能的话,我想将其限制为'post'动词?第二个问题,大多数人都想知道实现注销的正确方法,AuthFeature在

简单的问题,我有下面的代码来指定使用自定义CredentialAuthProvider进行用户身份验证的路径(使用我在文档中找到的内容组合在一起)

但是文档中关于注销功能的内容很少。这是我必须像所有其他API调用一样构建到服务中的自定义路由,还是我可以使用配置选项


另外,我目前正在使用swagger插件来记录和测试我的服务,但它向我显示了
/user/auth
路由为'get'启用,如果可能的话,我想将其限制为'post'动词?第二个问题,大多数人都想知道实现注销的正确方法,
AuthFeature
/auth/logout
创建一条路由,你可以用GET或POST来点击它以注销这个
AuthFeature
/auth/logout
创建一条路由,你可以用GET或POST来点击它以注销这个招摇过市的插件不会暴露出来注销路径,如果是的话会很好,我也希望它可以配置,哦,好吧。这很有效,谢谢。可能是因为路由实际上是“/auth/{provider}”,其中“logout”是一个特殊的提供程序值。Swagger插件不公开注销路由,如果它公开了就好了,我也希望它可以配置,哦,好的。这很有效,谢谢。可能是因为路由实际上是“/auth/{provider}”,其中“logout”是一个特殊的提供者值。
// inside 'Configure()'....
Dictionary<Type, string[]> serviceRoutes = new Dictionary<Type, string[]>();
serviceRoutes.Add(typeof(AuthService), new[] { "/user/auth" });           
AuthFeature authFeature = new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] {
    new myCompany.web.JSONService.myCompanyCredentialsAuthProvider() 
});
authFeature.IncludeAssignRoleServices = false;
authFeature.ServiceRoutes = serviceRoutes; //specify manual auth routes            
Plugins.Add(authFeature);
/user/logout