我猜是远射,因为我在这个阶段提供的真实信息缺乏。我很乐意提供有关如何重现该问题的更多详细信息-但希望获得一些快速反馈,以查看我遗漏的某个地方是否存在问题。
我有一个简单的 ServiceStack hello world 应用程序,我在其中使用 Facebook Auth Provider:
- 香草服务堆栈
- 香草 Facebook 身份验证提供程序
- 香草用户会话
- Vanilla OrmLite 用户存储库
- 香草 OrmLite MySql Db 工厂
在我的本地机器上调试时 - 在 Windows 7(和 8)上;一切都是一种享受。服务启动,创建数据库表,我可以通过 Facebook 登录并将记录插入到相关表中。
当在 Vagrant Box 内的 Ubuntu 上运行该服务时(在 Virtual Box 中作为虚拟化提供者运行,使用 mono-fastcgi 托管在 nginx 上) - 服务正确启动,我可以看到表是在 MySql 数据库中创建的。当我点击时,/auth/facebook
我被正确地转发到 Facebook - 但是当发生对服务的回调时,我遇到了错误。
这是当前的输出:
[Auth: 07/30/2013 13:02:47]: [REQUEST: {provider:facebook}] System.NullReferenceException: Object reference not set to an instance of an object at
ServiceStack.ServiceInterface.Auth.FacebookAuthProvider.Authenticate (ServiceStack.ServiceInterface.IServiceBase,ServiceStack.ServiceInterface.Auth.IAuthSession,ServiceStack.ServiceInterface.Auth.Auth) <0x0061e> at
ServiceStack.ServiceInterface.Auth.AuthService.Authenticate (ServiceStack.ServiceInterface.Auth.Auth,string,ServiceStack.ServiceInterface.Auth.IAuthSession,ServiceStack.ServiceInterface.Auth.IAuthProvider) <0x000a7> at
ServiceStack.ServiceInterface.Auth.AuthService.Post (ServiceStack.ServiceInterface.Auth.Auth) <0x00303> at
ServiceStack.ServiceInterface.Auth.AuthService.Get (ServiceStack.ServiceInterface.Auth.Auth) <0x00013> at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure,object,object) <0x0004f> at
ServiceStack.ServiceHost.ServiceRunner`1<ServiceStack.ServiceInterface.Auth.Auth>.Execute (ServiceStack.ServiceHost.IRequestContext,object,ServiceStack.ServiceInterface.Auth.Auth) <0x00416>
它显然到达了服务(我正在访问它,通过localhost:8080
它映射到端口 80 上的客户机);因为错误很好地包装在 ServiceStack 输出中。
我想没有人有任何线索吗?