且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何自动登录Google API以获取OAuth 2.0令牌以访问已知的用户帐户

更新时间:2023-11-04 15:39:22

In my application, the flow is like this:

  1. If no access_token defined, redirect the user to the Google page where they grant access to your application accessing their Google data. This returns an authorization code to your app.
  2. Use the authorization code to get an access_token and refresh_token. You should also save the expires_in value returned, which tells you when the access_token expires and can no longer be used.
  3. Whenever you need to access the API, you can check in your DB if the access_token is expired - if so, use the refresh_token to get a new access_token before accessing the API.

I haven't run in to any problems doing it this way - as far as the user is concerned, they only need to grant access once, then the app takes care of the authentication from there on.

That should solve your problem, because the app programmatically keeps re-authenticating itself based on the user initially granting access to your app, and you don't need to do anything manually. In fact, I'm not sure there's any other way to do it, because to do the OAuth process again, the user has to be sitting in front of the device to manually grant access. That's the point of persisting the access_token and refresh_token in your database.