【问题标题】:How to generate correct auth tokens如何生成正确的身份验证令牌
【发布时间】:2012-12-23 05:27:53
【问题描述】:

我正在尝试使用 Android 帐户管理器来创建 我的应用程序自己的帐户,因此我研究了 SDK 中提供的示例。 但是,我在理解如何管理服务器上的身份验证令牌时遇到了一点问题。

根据我在研究示例和阅读一些教程时的理解是,用户在首次登录时必须提供他的登录名和密码。然后客户经理将向我的服务器询问与用户凭据相关联的令牌.此令牌将作为密码存储在 Android 设备上的帐户中(因此真正的密码永远不会存储在设备上)。

由于令牌定期过期,我知道我的服务器必须能够生成带有登录名和过期令牌的新令牌。那是对的吗?如何从旧令牌生成新令牌?

此外,令牌的结构应该是什么?我如何生成它?是否将过期时间存储在令牌本身或我的服务器上?

编辑:如果有人有一个简单的工作示例给我看,那对我很有帮助。 另外,如果您有以下答案以外的其他信息,请发布,因为 Amokrane Chentir 的回答对我没有帮助。 确实,调用AccountManager#getAuthToken() 会导致调用方法getAuthToken() 我必须在我的AbstractAccountAuthenticator 的子类中实现。

EDIT2:5 个月后,我仍然对这个问题的解决方案感兴趣 :)

【问题讨论】:

    标签: android authentication token auth-token android-account


    【解决方案1】:

    您可以调用方法AccountManager#invalidateAuthToken 来请求新的Auth Token。另外,您不需要自己生成Auth Token,您必须使用AccountManager#getAuthToken

    【讨论】:

    • 我不明白,因为Authenticator(扩展AbstractAccountAuthenticator)必须定义和实现方法public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle loginOptions) throws NetworkErrorException。在 SDK 示例中,此方法连接到返回身份验证令牌的服务器。所以这是我们的工作生成它
    • 你有一个链接到一个比 SDK 更简单的项目的工作示例吗?
    • 是的,我碰巧在以前的项目中做过。今天晚些时候会给你一个sn-p,坚持住:)
    • 你说的链接有吗?
    • 对不起,完全忘记了。今晚让我做,好吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多