我将 Wordpress + WooCommerce 与 WP-API 结合使用作为我的移动电子商务应用程序的后端。
我的目标是在应用程序中提供一些社交登录(通过 Facebook、Twitter、Google 等)来注册/登录,然后使用 WooCommerce API 接收例如该经过身份验证的用户的所有订单。
目前我的计划是:
- 使用一些客户端 SDK,以便用户例如可以使用他的 FB 帐户登录
- 从第 1 步开始,我得到例如用户名、电子邮件和 FB ID,它们被发送到自定义端点以将用户添加到 Wordpress DB(如https://github.com/royboy789/wp-api-social-login)
- 使用 WP-API 为订单创建自定义端点(例如:.../orders)
- 在端点函数中检查用户是否经过身份验证
- 如果用户通过身份验证,则端点使用 WooCommerce API 包装器(https://github.com/kloon/WooCommerce-REST-API-Client-Library)返回用户的订单
但我在#3 上苦苦挣扎,因为我真的不知道如何检查用户是否经过身份验证。
我考虑创建另一个端点,该端点将联系 OAuth 授权服务器以使用例如 Facebook 的访问令牌检查用户的凭据。如果检查有效,我将使用用户 ID、电子邮件等的一些散列为我的 API 创建一个自定义访问令牌,这些哈希将被发送回客户端应用程序。然后这个访问令牌用于对我的 API 的每次调用,然后从哈希令牌中读取用户 ID 并返回例如该用户的所有订单。
但不知何故,这感觉不对。特别是因为这样我会创建一个无尽的生活访问令牌......