2012-01-25 14 views
2

ServiceStack AuthServiceOAuthProvider.csであるため、この行のOAuthのプロバイダで認証した後に無限ループに入る:ServiceStack認証を設定するとき、私はカスタムAuthUserSessionReferrerUrlを上書きすることができServiceStackのOAuthリダイレクトURL

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

、それ一種の汚れを感じる。

正常な認証を認証プロバイダに基づいてリダイレクトする方法はありますか。そこにはリファラーがなかったか、それは自分自身だった場合(つまり、/ AUTHから)場合

+0

元々どのように呼び出していますか?/auth/providerにまっすぐ行く?またはそこにリダイレクトされるのですか? – mythz

+0

私は '/ api/auth/twitter'にリンクしています。私はそこにリダイレクトすることができると思いますが、不要なラウンドトリップのように見えます。 –

答えて

2

は今(NuGet/GitHub上)V3.40でそれが検出され、その場合にリダイレクトするか:

をどれRedirectUrlますAuthProviderで定義されているTwitterAuthProviderのためにあなたがのWeb.Configにこれを追加することができますすることができます

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

それ以外の場合は、それがEndpointHostConfig.WebHostUrlに設定されています場合は、あなたのホームページにリダイレクトしようとしますかRequestUriを経由して、それをうまくしようとします。