2012-01-25 50 views
2

的ServiceStack AuthService进入一个无限循环使用,因为这条线的OAuthProvider.cs OAuth用户提供认证后:ServiceStack OAuth的重定向URL

return authService.Redirect(session.ReferrerUrl.AddHashParam("s", "1")); 

我可以在配置ServiceStack认证时使用自定义AuthUserSession覆盖ReferrerUrl,但它感觉有点肮脏。

基于身份验证提供程序,是否有更简洁的方式来重定向成功的身份验证?

+0

你最初怎么称呼它?直接去/ auth/provider?或者在那里重定向? – mythz

+0

我只是连接到'/ api/auth/twitter'。我想我可以在那里重定向,但它似乎是一个不必要的往返:\。 –

回答

2

现在V3.40(上NuGet/GitHub)如果没有介绍人它会检测,或者如果它本身(即从/ AUTH),如果是这样,要么重定向到:

任何RedirectUrl你已在AuthProvider上定义,例如为TwitterAuthProvider你可以可以添加这对你的web.config:

<add key="oauth.twitter.RedirectUrl" value="http://localhost:1337/redirectafterauth" /> 

否则,它会尝试,如果它在EndpointHostConfig.WebHostUrl我们设置重定向到您的主页或将尝试通过RequestUri做得出来。