SAML Reply Url return Redirect(302):如何设置Cookie?



我们使用SAML进行单点登录。我们的SAML回复url是一个. net ApiController,它带有一个指定的路由来验证用户,在成功的情况下返回302 Redirect和一个ASP的url。. NET页面(aspx)。此时,该页获取用户信息作为GET参数,然后进行登录。

一切正常。但是由于使用GET参数是不安全的(Url可以被复制),我想将用户信息作为cookie传递给页面。

现在我只是做

return Redirect("https://ourApp/Login.aspx");

我尝试了以下内容,但是"cookie1"在

页面的Request.Headers["Cookie"]中没有包含。
HttpRequestMessage httpRequestMessage = new HttpRequestMessage();
httpRequestMessage.Headers.Add( "Cookie", "cookie1=value1" );
return new RedirectResult( new Uri( "https://ourApp/Login.aspx" ), httpRequestMessage );

有谁知道我该怎么做吗?或者如果不可能,另一种解决方案是什么?提前感谢!

好吧,我自己找的:

CookieHeaderValue tokenCookie = new CookieHeaderValue(...);
HttpResponseMessage responseMsg = new HttpResponseMessage( HttpStatusCode.Found ); // 302
responseMsg.Headers.Location = new Uri( loginUrl );
responseMsg.Headers.AddCookies( new[] { tokenCookie } );
return ResponseMessage( responseMsg );

相关内容

最新更新