Symfony 的 OAuth 实现 API
OAuth implementation for Symfony API
我对基于 Symfony 构建的 API 的 OAuth 实现有点不确定。
情况:API 在 Symfony 上按照建议使用通用 FOS 包 here。前端将在 SilverStripe 上,因此登录表单将驻留在 SilverStripe 框架上的不同域中。
这是必需的工作流程:用户在 SilverStripe 的前端表单中填写用户名和密码 -> API 调用以检查用户名和密码是否正确 -> 如果凭据正确 API给出 access_token 和后续调用 API 所需的所有其他值(我不确定)
我找到的所有教程都是为 Facebook 或 Twitter 实现 oauth。
不太确定如何操作,因为我是 API 的新手。
假设:
- 您需要在 Silverstripe 上收集 UN/PW 并使用相同的那些来通过 API
进行身份验证
- 您不需要拥有同一用户的 SilverStripe 会员记录(即您完全绕过了 SS 的内置身份验证)
我建议:
- 像任何其他 SS 表单一样构建身份验证表单。
- 在您的提交处理程序中使用 curl 或其他方式将 grant_type=密码请求发送到 API(ala https://gist.github.com/lologhi/7b6e475a2c03df48bcdd#grant_typepassword)
- 在会话access_token中保存
- 为以后的 API 请求使用访问令牌
- 要注销,只需从会话中删除访问令牌
- 要检查是否已登录,只需检查会话中是否有访问令牌。
如果我的假设是正确的,则不需要外部模块。如果没有,您可能想查看 OPauth 和 https://github.com/BetterBrief/silverstripe-opauth - 至少作为灵感。
我对基于 Symfony 构建的 API 的 OAuth 实现有点不确定。
情况:API 在 Symfony 上按照建议使用通用 FOS 包 here。前端将在 SilverStripe 上,因此登录表单将驻留在 SilverStripe 框架上的不同域中。
这是必需的工作流程:用户在 SilverStripe 的前端表单中填写用户名和密码 -> API 调用以检查用户名和密码是否正确 -> 如果凭据正确 API给出 access_token 和后续调用 API 所需的所有其他值(我不确定)
我找到的所有教程都是为 Facebook 或 Twitter 实现 oauth。
不太确定如何操作,因为我是 API 的新手。
假设:
- 您需要在 Silverstripe 上收集 UN/PW 并使用相同的那些来通过 API 进行身份验证
- 您不需要拥有同一用户的 SilverStripe 会员记录(即您完全绕过了 SS 的内置身份验证)
我建议:
- 像任何其他 SS 表单一样构建身份验证表单。
- 在您的提交处理程序中使用 curl 或其他方式将 grant_type=密码请求发送到 API(ala https://gist.github.com/lologhi/7b6e475a2c03df48bcdd#grant_typepassword)
- 在会话access_token中保存
- 为以后的 API 请求使用访问令牌
- 要注销,只需从会话中删除访问令牌
- 要检查是否已登录,只需检查会话中是否有访问令牌。
如果我的假设是正确的,则不需要外部模块。如果没有,您可能想查看 OPauth 和 https://github.com/BetterBrief/silverstripe-opauth - 至少作为灵感。