gpt4 book ai didi

适用于应用程序的 Android SSO(单点登录)

转载 作者:可可西里 更新时间:2023-11-01 18:49:11 26 4
gpt4 key购买 nike

是否有适用于 Android 的免费单点登录机制可以与非 Web 应用程序完美配合?比如说,类似...

  1. 您启动我的应用并使用它,直到它从应用服务器发出需要身份验证的请求。它使用服务器将在短时间内与您关联的随机 token 响应该请求。

  2. 该应用会向您显示一个用户名字段、一个密码字段和一个提交按钮。

  3. 您输入您的用户名和密码。然后,该应用会将您的用户名和哈希密码以及应用服务器生成的 token 转发到登录服务。

  4. 登录服务确定您的用户名和密码是否有效。如果是,它会以数字方式为 token 添加时间戳并对 token 进行签名,并将已签名的 token 返回给应用。

  5. 应用将签名 token 中继到服务器。

  6. 服务器检查签名,确认签名有效并由它信任的机构签名,然后继续进行,就好像用户向 IT 提供了有效的本地用户名和密码一样。

我怀疑我只是迷失了术语,但到目前为止我得到的印象是所有常用的 SSO 提供商——Twitter、Facebook 等——只允许用户使用普通浏览器登录,并且你要么不被允许做我描述的事情,要么他们做了一些事情,使除了普通浏览器之外的任何东西都无法有效地做到这一点(比如通过 Javascript 动态创建登录表单,以防止开发人员尝试使用他们自己的作为登录外观的应用程序)。

或者,是否存在像这样的任何工作流程...

  1. 您启动我的应用程序并使用它,直到网络服务要求您登录。应用程序服务器生成一个 token 并将其返回给应用程序。

  2. 该应用通过 intent 生成一个新的浏览器,将您发送到登录提供程序的网站,通过 intent 将 token 作为 POSTed formvar 传递给浏览器(并最终传递给提供程序)。

  3. 您使用浏览器窗口登录,浏览器窗口关闭 - 返回我的应用程序。

  4. 登录提供商签署 token ,然后通过 HTTP POST 将其直接发送到我的应用服务器,这样我就可以记录它的提交、验证证书,并将其视为直接提交的有效用户名和密码由用户自己发送给应用服务器。

最佳答案

您是否尝试过或考虑过使用 Firebase? https://firebase.google.com/docs/auth/?hl=es-419

它有一些有用的工具,您还可以使用多个社交连接器和用户/密码登录,它们提供了一个库来集成整个 UI 和服务器流程,它们甚至为您利用了 google 智能锁。

看看https://github.com/firebase/FirebaseUI-Android我在个人项目中使用了它,节省了我很多时间。

关于适用于应用程序的 Android SSO(单点登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3587375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com