0

我很难思考如何在我的 REST 服务中对用户进行身份验证。我计划使用 Google 登录(即在 Android 上)。我不太清楚如何在我的服务器上对用户进行身份验证。我不想获得任何授权(除了验证用户的身份),我想做的就是当我收到请求时,验证用户是他(或她)所说的那个人。

我的理解是用户将登录,从 Google 获取某种令牌,然后将该令牌连同他的请求一起发送到我的服务器,我将使用该服务器来验证他的身份。但是,根据我的阅读,用户将他们的请求编码为 JWT(json Web 令牌),然后我将使用它来验证他们的身份,而无需直接与 Google 服务器对话。我理解正确吗?

在 Google 的文档中,它说

如果您不需要离线访问,您可以检索访问令牌并通过安全连接将其发送到您的服务器。您可以直接使用 GoogleAuthUtil.getToken() 获取访问令牌,方法是指定范围而不指定服务器的 OAuth 2.0 客户端 ID。

但它没有说明服务器应该如何处理令牌。

4

1 回答 1

1

您有一个 android 应用程序允许用户通过 Google+ 登录登录,然后这个 Android 应用程序将调用您的 REST API。您想要的是您的服务如何验证此请求。此 Android 客户端将使用令牌向您的服务发送请求,您需要验证此令牌以进行身份​​验证。我的理解对吗?

如果是这样,您需要验证发送到您的服务的令牌。在您的情况下,您提到的参考是针对 Google API 调用的;这是您自己的服务 API 调用。对于 Android 端,只需按照参考,在您的服务端,您可以使用TokenInfo 验证来验证用户。

于 2014-07-15T05:12:21.990 回答