Я пытаюсь добавить поставщика OAuth2 для Google к доказательству концептуального приложения, созданного на ServiceStack, однако я продолжаю получать следующую ошибку, когда пытаюсь инициировать логин ...servicestack oauth2 аутентификация Google не работает для самозваных сайтов
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 и добавил поставщика Google oauth2 к нему и был в состоянии заставить его работать. Я скопировал конфигурацию из файла web.config в файл app.config собственного проекта, но он все еще не работает.
Любая помощь будет замечательной!
Спасибо за помощь.
Я отмечаю это правильно ... потому что технически это так. Тем не менее, я все еще не могу заставить oauth2 работать в самообслуживаемом приложении, используя служебную программу. Он отлично работает, когда вы используете его с веб-приложениями. Если вы знаете какие-либо проекты, которые сделали это, вы могли бы их передать. Возможность размещения служебных программ в качестве самостоятельного приложения является ключом к моей общей архитектуре. – Dan
@ Дань Да, я обнаружил, что DotNetOpenAuth не работает должным образом, когда он размещен в самообслуживаемом HttpListener, поэтому все, что требует DNOA для работы, например. Поддержка OAuth2 ограничена хостами ASP.NET в это время. Добавьте [запрос функции] (http://servicestack.uservoice.com/forums/176786-feature-requests), если вы хотите, чтобы это было исследовано дальше. – mythz