grails - IOS的foursquare oauth2

标签 grails mobile oauth-2.0 foursquare

我从v1 foursquare api升级到需要Oauth2的v2。

按照建议使用Web服务器流是否正确,我应该将用户定向到:
https://foursquare.com/oauth2/authenticate
?client_id = YOUR_CLIENT_ID
&response_type =代码
&redirect_uri = YOUR_register_REDIRECT_URI

一旦用户通过身份验证,foursquare将重定向到:
https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE

意思是我需要在https://YOUR_REGISTERED_REDIRECT_URI定义一个端点,然后向

https://foursquare.com/oauth2/access_token
?client_id = YOUR_CLIENT_ID
&client_secret = YOUR_CLIENT_SECRET
&grant_type = authorization_code
&redirect_uri = YOUR_register_REDIRECT_URI
&code = CODE

在我的服务器端获取实际 token 。

该流程如何将 token 返回给移动设备以供使用?

谢谢您的帮助。

最佳答案

这只是我的猜测,但这是可能的流程:

  • 打开uiwebview并将用户发送到https://foursquare.com/oauth2/authenticate?client_id = YOUR_CLIENT_ID&response_type = code&redirect_uri = YOUR_register_REDIRECT_URI
  • 接受后,将被重定向到https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE,例如https://domainyouown.com/callback?code=asdfasdfasdfasdf
  • 是否让您的回调页面向https://foursquare.com/oauth2/access_token发出请求?
  • 获取json响应(仍在您的回调页面代码中),将其保存到服务器端数据库(如果正在使用),并在div的html中显示,其ID为“oauth-token”。
  • 使用UIWebView的-(NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)脚本获取div的值并将其存储在您的iPhone设置中

  • 您可能还需要 checkout https://github.com/nxtbgthng/OAuth2Client

    关于grails - IOS的foursquare oauth2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4486370/

    相关文章:

    grails - CSRF和OWASP ZAP

    html - 我如何在 twitter bootstrap 移动 View 上彼此相邻

    linux - Kannel:无法发送或接收短信

    asp.net-web-api - Web API/MVC 6 中的安全 JSON Web token

    java - 使用 SSO 处理用户身份验证

    json - 使用对象的部分属性在 GRAILS 中呈现 JSON

    grails - 或条件Grails嵌套对象

    grails - 哪个Java版本与grails groovy工具套件3.5兼容

    android - 如何通过 Android NDK 编译 C++ 项目

    ios - 如何使用授权码流程为 IOS 客户端设置 Identity Server 3