我已经使用ServiceStack很长一段时间了,我喜欢它。但有一点我无法弄清楚。 应用程序(ios,android等)如何使用我的servicestack端点,假设使用facebook端点“/ auth / facebook”? 当从浏览器使用这个URL“/ auth / facebook”时它工作正常,但响应是html,而不是AuthResponse og可序列化的东西。
此端点仅用于同一解决方案中具有servicestack的网站吗?
答案 0 :(得分:2)
这些东西的工作方式是使用与您的应用匹配的API密钥将用户重定向到Facebook。然后用户告诉Facebook你的应用程序没问题,Facebook重定向它们。这只能通过浏览器完成。你真的有两个选择来解决这个问题:
让用户使用网站对Facebook进行身份验证,然后使用应用中的凭据对您的用户进行身份验证。
使用内置的iOS Facebook内容,并将生成的身份验证令牌发送到您应用的端点,您可以将其保存以供日后使用。
编辑,更多一点澄清:
选项1
选项1.5
与选项1 相同,但不是让用户通过浏览器,而是创建UIWebView
控件并将其指向您的Facebook Auth端点。然后,您会收听来自您网站的回复,其中说明用户已通过身份验证。我不是一个客观的c,所以我无法真正了解如何做到这一点。
选项2
POST
通过自定义端点提供服务堆栈的凭据Facebook登录需要某种浏览器,因为Facebook的cookie必须与请求授权您的网站一起传递。这就是Facebook知道哪些用户想要授权您的网站,他们是提出请求的人。