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

时间:2010-08-27 19:10:40

标签: android single-sign-on

是否有适用于Android的免费单点登录机制,可以优雅地与非Web应用程序配合使用?说,有点像......

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

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

  3. 您输入用户名和密码。然后,应用程序将您的用户名和哈希密码以及应用服务器生成的令牌转发给登录服务。

  4. 登录服务确定您的用户名和密码是否有效。如果是,则以数字方式为令牌添加时间戳并签名,并将签名后的令牌返回给应用。

  5. 该应用程序将签名的令牌转发给服务器。

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

  7. 我怀疑我只是迷失在命名法中,但到目前为止我得到的印象是,所有常见的SSO提供商 - Twitter,Facebook等 - 只允许用户使用普通浏览器登录,并且你不允许你做我描述的事情,或者他们做了一些事情,除了普通的浏览器之外的任何事情都有效地实现它(比如通过Javascript动态创建登录表单以防止开发人员尝试使用他们自己的应用程序作为登录外观)。

    或者,是否存在像THIS ......

    这样的工作流程
    1. 启动我的应用并使用它直到网络服务要求您登录。应用服务器生成令牌并将其返回给应用。

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

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

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

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您在--- title: "Untitled" author: " " date: "Sys.Date()" output: html_document --- ```{r} data("AirPassengers") library(forecast) fit <- auto.arima(AirPassengers) ``` ```{r, results='asis'} library(stargazer) stargazer(fit) fit2 <- arima(AirPassengers, order = c(2,1,1), seasonal = c(0,1,0)) stargazer(fit2, type = "latex") stargazer(fit2, type = "html") ``` Error in column.matrix[r, i] : subscript out of bounds 部分中描述的内容与使用代码交换证明密钥(PKCE)OAuth 2.0授权的授权代码相似

https://vuex.vuejs.org/en/getters.html

流程如下:
 1.您的应用会生成一个随机密钥(Alternatively)及其转换后的值(code_verifier)并导航到授权服务器,code_challenge作为参数
 2.授权服务器使用授权码重定向回您的应用  3.您的应用将code_challengeauthorization_code发送到auth服务器以获取授权令牌
 4.服务器使用code_verifierauthorization_code(它已经code_verifier,因此可以验证code_challenge是否正确),然后使用令牌返回到您的应用。

在实际方面,您可以使用Auth0之类的东西在您的应用中实现它。

答案 2 :(得分:0)

使用 Android客户管理器进行SSO。

在下面提供参考仅供参考。您必须深入研究客户经理。
Android开发人员:https://developer.android.com/training/id-auth
博客示例:https://www.zoftino.com/android-account-manager-&-create-custom-account-type