2 回答
TA贡献2039条经验 获得超7个赞
看起来您在 GAE 上有一个应用程序和一个后端。如果您使用的是 google 身份工具包,它将允许您使用 Facebook、Google 和电子邮件/密码登录。
当用户使用身份工具包成功登录到您的应用程序时,您的服务器应该会收到一个 gtoken。您在这里有两个选择:
将 gtoken 传递给您的应用程序并将其保存在那里。当您的应用程序向后端发出 API 调用时,您的应用程序应将 gtoken 附加到每个请求。您的后端应验证每个需要授权的 API的 gtoken( https://developers.google.com/identity/toolkit/web/required-endpoints )。
验证 gtoken,生成一个您的后端可以识别/识别用户的令牌。然后将令牌传递给您的应用程序,其他一切都与选项 1 相同。
如果您不想使用身份工具包,您可以在您的应用程序/后端实现 facebook 登录,并使用 facebook 令牌在您的应用程序和后端之间进行通信。
无论您的决定是什么,使用您的 API 的应用程序都应该向您传递一些您的后端可以识别/授权用户的信息。
TA贡献1843条经验 获得超7个赞
答案是关于使用 Google Identity Toolkit (GIT)。GIT 本身是一个身份提供者,它将与您的应用程序和后端集成。流程沿着以下路线工作:
您的应用程序通过其 GIT API 请求登录
GIT 将执行与 Facebook 或其他 3rd 方提供商的联合登录(对您的应用程序透明)并向应用程序返回GIT令牌(从您的端到端系统角度代表唯一用户,即应用程序加后端)
应用程序向后端发出请求,并在其中传递 GIT 令牌
后端验证 GIT 令牌的有效性(例如,使用这个 go GIT 客户端 API)并从中提取用户的身份,从而验证请求
您可以在后端端点 doc 中找到有关后端令牌验证的更多详细信息,特别是查找以下部分:
了解 Identity Toolkit cookie/token
为用户获取信息
现在后端的实际令牌验证可能需要几秒钟,因此对来自应用程序的每个 REST 请求进行验证可能不切实际。如果是这样,您需要以某种方式:
保存该特定应用程序实例的用户在您的应用程序和后端之间管理的“会话”之类的信息中进行身份验证的信息
将后端收到的特定 REST 请求映射到特定的此类经过身份验证的“会话”
但是我不确定在应用程序+后端上下文中这个“会话”功能究竟是如何完成的,我还没有编写任何应用程序。
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报