4

我正在从本机 iOS 应用程序(使用 gtm-oauth2)和我的网络应用程序访问 Google API,每个应用程序都有不同的客户端 ID。

当我尝试使用由最初生成的客户端 ID 创建的刷新令牌刷新访问令牌时,我收到授权错误。

我不希望用户被要求允许多次访问我的应用程序。

是否可以让两个客户端 ID 互换工作?或者有没有办法在 iOS 平台上使用 Web 的客户端 ID(使用 gtm-oauth2 或不使用)?

4

1 回答 1

0

我认为您需要了解一点 Oauth2 的工作原理。

当用户授予您对那里数据的访问权限时,他们将其授予您的应用程序。为了做到这一点,Oauth2 需要知道哪个应用程序正在请求访问。该应用程序通过其客户端 ID 向 Oauth2 标识。访问令牌刷新令牌是为特定应用程序制作的。

通过拥有两个不同的客户端 ID,您就有了两个不同的应用程序,并且刷新令牌不能互换

我还没有尝试过,但它可能会起作用。您是否尝试过在 IOS 应用程序中使用 Web 应用程序中的客户端 ID?如果它起作用/不起作用,我很想知道以供将来参考。

我希望这有帮助。

于 2014-03-31T12:33:20.140 回答