当前为Google auth.创建iOS应用程序时。,它仅生成客户端ID。
在iOS端,我使用两个应用程序(iOS和WEb)的客户端ID来验证用户并生成刷新令牌。
根据谷歌的文档,生成的访问令牌是短期的。因此,每当我们需要重新生成用户的访问令牌时,在服务器端我们都会使用Web应用程序的客户端id和客户端机密。
但是,每当我试图用刷新令牌、客户端id(web应用程序)和客户端机密(web应用程)生成新的访问令牌时,就会出现"未授权客户端"错误,这意味着刷新令牌与客户端id和客户端机密不同步。
请告诉我客户端id和客户端机密的组合,我应该在服务器端使用它来重新生成用户的access_token。此外,任何人都可以指导我如何生成iOS应用程序和web应用程序,这些应用程序可用于在验证用户时生成刷新令牌。
刷新令牌仅限于特定的客户端/应用程序。您的iOS和web应用程序具有不同的客户端ID,因此其中一个应用程序的刷新令牌不能被另一个使用。
在iOS客户端,只需要客户端ID和刷新令牌(最初提供给同一客户端)即可获得新的访问令牌(用于同一iOS客户端)。iOS客户端没有客户端机密。如果您使用谷歌登录iOS SDK,这将自动为您处理。
如果您希望客户端将登录用户传送到后端服务器,请参阅https://developers.google.com/identity/sign-in/ios/backend-auth。
如果后端服务器本身也需要访问令牌,请按如下方式设置服务器端访问:https://developers.google.com/identity/sign-in/ios/offline-access