android - 移动 SDK 中的 oauth 2 实现

标签 android ios facebook oauth oauth-2.0

我已经创建了 SDK,现在想要集成 oauth 来进行身份验证过程。现在我想做的和 Facebook SDK 一样,如果客户端应用程序已经安装并登录,它会切换到该应用程序请求许可,然后切换回想要授权的应用程序。如果客户端应用程序不存在,则会打开网页并在登录时请求许可,然后在登录后重定向到我的应用程序。

我们已经在服务器上实现了 oauth,但不确定我们将使用哪种 grant_type 来实现上述功能。我们无法将密码存储在客户端应用程序中。

如果有人知道如何实现此功能并实现与其他 SDK(Facebook、Twitter)相同的流程,请告诉我。

最佳答案

对于基于移动的应用程序,请使用以下 URL 进行身份验证:

POST https://api.example.com/token
grant_type=authorization_code&
code=AUTH_CODE_HERE&
redirect_uri=REDIRECT_URI&
client_id=CLIENT_ID

如果用户登录,则从应用程序传递身份验证代码,否则如果用户未登录,请先导航到登录页面,成功登录授权页面后会照常出现。 注意:这可能不安全,因为我们在查询参数中发送代码,但通过 ssl 请求来增强安全性。

用于浏览器身份验证

https://example.com/auth?response_type=token& client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=photos

如果用户已经登录,则身份验证将选择登录 session 。

关于android - 移动 SDK 中的 oauth 2 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24446687/

相关文章:

java - 解析 UTF-8 编码的 XML 文件

android - 如何创建像指标一样的圆形进度条(饼图) - Android

android:确定范围内wifi网络的安全类型(不连接它们)

iOS 图像 Assets 大小。 3x 实际上是 1x 大小的 3 倍吗?是否需要 Retina 4 2x?

php - Facebook 好友数?

javascript - FB Comments Plugin - 检测页面上的评论

android - 使用Flutter执行任务 ':app:processReleaseResources' image_picker失败

ios - 更改 UILabel 字体

iphone - 如何从一个 View Controller 弹出到另一个 View Controller

android - 为什么适用于 Android 的 Facebook SDK 如此之大?