Google 용 OAuth2 제공자를 ServiceStack에 구축 된 개념 증명 애플리케이션에 추가하려고 시도했지만 로그인을 시도 할 때 다음 오류가 계속 발생합니다 ... servicestack oauth2 자체 인증 사이트에서 oauth2 인증이 작동하지 않습니다.
This method requires a current HttpContext. Alternatively, use an overload of this method that allows you to pass in information without an HttpContext`enter code here`
[Auth: 11/21/2013 10:29:25 PM]: [REQUEST: {provider:googleoauth}] System.InvalidOperationException: This method requires a current HttpContext. Alternatively, use an overload of this method that allows you to pass in information without an HttpContext. at DotNetOpenAuth.Requires.ValidState(Boolean condition, String message) at DotNetOpenAuth.Messaging.Channel.GetRequestFromContext() at DotNetOpenAuth.OAuth2.WebServerClient.ProcessUserAuthorization(HttpRequestBase request) at ServiceStack.Authentication.OAuth2.OAuth2Provider.Authenticate(IServiceBase authService, IAuthSession session, Auth request) at ServiceStack.ServiceInterface.Auth.AuthService.Authenticate(Auth request, String provider, IAuthSession session, IAuthProvider oAuthConfig) at ServiceStack.ServiceInterface.Auth.AuthService.Post(Auth request) at ServiceStack.ServiceInterface.Auth.AuthService.Get(Auth request) at lambda_method(Closure , Object , Object) at ServiceStack.ServiceHost.ServiceRunner`1.Execute(IRequestContext requestContext, Object instance, TRequest request)
는 또한 데모 응용 프로그램 SocialBootstrapApi을 다운로드 여기에 구글의 OAuth2 제공자를 추가하고 작업을 얻을 수있었습니다했습니다. web.config의 설정을 자체 호스팅 프로젝트의 app.config 파일에 복사했지만 여전히 작동하지 않습니다.
도움이 될 것입니다.
도움 주셔서 감사합니다.
기술적으로 이것이 올바른 것으로 표시하고 있습니다. 그러나, 나는 servicestack을 사용하여 자체 호스팅 응용 프로그램에서 작동하도록 oauth2를 얻을 수 없습니다. 웹 호스팅 앱과 함께 사용할 때 완벽하게 작동합니다. 만약 당신이 거기 밖으로 프로젝트를 알고 당신이 그들을 따라 전달할 수 있습니다. 독립 실행 형 응용 프로그램으로 servicestack을 호스팅 할 수 있다는 것이 내 전반적인 아키텍처의 핵심입니다. – Dan
@ Dan 예 DotNetOpenAuth가 자체 호스팅 HttpListener에서 호스트 될 때 DotNetOpenAuth가 제대로 작동하지 않는다는 것을 알았습니다. 따라서 DNOA가 필요한 모든 것이 작동합니다. 현재 지원되는 OAuth2는 ASP.NET 호스트로 제한됩니다. 더 자세히 조사하려면 [feature request] (http://servicestack.uservoice.com/forums/176786-feature-requests)를 추가하십시오. – mythz