ServiceStack Authorize方法的返回对象应该是什么?

时间:2014-09-26 11:37:04

标签: servicestack saml-2.0

我正在为SAML2授权编写自己的授权提供程序。为了帮助我,我得到了第三方库来处理大部分SAML2规范。

但是,此库是为ASP.NET HttpHandler接口编写的,其中ProcessRequest方法没有返回值。

使用这个库,方法本身不会返回任何内容,但是我负责压缩身份验证请求XML的大部分工作,创建XML的签名并告诉浏览器重定向到SAML2登录页面,具有正确的属性为了电话。所以它为我做了很多工作。

一些伪代码:

public object Authenticate(IServiceBase authService, IAuthSession session, Authenticate request)
{
    ...
    AuthnRequest authnRequestXML = saml2Util.CreateAuthnRequestXML();
    HttpResponseBase httpResponse = authService.Request.Response.OriginalResponse as HttpResponseBase;
    // This takes care of signing, compression of the authnRequestXML and the redirect action
    SAML2Library.SendAuthnRequestByHTTPRedirect(httpResponse, DestinationURL, authnRequestXML, certificatePrivateKey);
    return ?;
}

返回null没有用。 在这种情况下,我应该将Authenticate方法的返回值设置为什么?

1 个答案:

答案 0 :(得分:2)

要返回重定向响应,您可以返回HttpResult例如:

return HttpResult.Redirect(redirectUrl);