Does Google wait for an infinite refresh_token for cloud partner calls?












0















I'm working today on a partner environment related to Google Home.



Concretely, when I use google home to give orders on devices, Google calls my API to execute them (as it does with Philips Hue, Netatmo etc ...).



My problem is this: I use keycloak for OAuth management. the Google console has been configured to use it and it works. However my refresh_token expire and this forces the user to delete the linked account and then postpone it.



My question is this: Does Google expect to get an infinite refresh_token after giving its authorization_code? Or I missed something, because Google does not seem to restart the normal connection procedure.



Keycloak 3.2, Google homegraph action-on-google










share|improve this question

























  • This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

    – Prisoner
    Dec 31 '18 at 14:19











  • I have the keycloak configuration, so i know that the SSO timeout has a max

    – Léo SEGRETAIN
    Jan 2 at 6:22
















0















I'm working today on a partner environment related to Google Home.



Concretely, when I use google home to give orders on devices, Google calls my API to execute them (as it does with Philips Hue, Netatmo etc ...).



My problem is this: I use keycloak for OAuth management. the Google console has been configured to use it and it works. However my refresh_token expire and this forces the user to delete the linked account and then postpone it.



My question is this: Does Google expect to get an infinite refresh_token after giving its authorization_code? Or I missed something, because Google does not seem to restart the normal connection procedure.



Keycloak 3.2, Google homegraph action-on-google










share|improve this question

























  • This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

    – Prisoner
    Dec 31 '18 at 14:19











  • I have the keycloak configuration, so i know that the SSO timeout has a max

    – Léo SEGRETAIN
    Jan 2 at 6:22














0












0








0








I'm working today on a partner environment related to Google Home.



Concretely, when I use google home to give orders on devices, Google calls my API to execute them (as it does with Philips Hue, Netatmo etc ...).



My problem is this: I use keycloak for OAuth management. the Google console has been configured to use it and it works. However my refresh_token expire and this forces the user to delete the linked account and then postpone it.



My question is this: Does Google expect to get an infinite refresh_token after giving its authorization_code? Or I missed something, because Google does not seem to restart the normal connection procedure.



Keycloak 3.2, Google homegraph action-on-google










share|improve this question
















I'm working today on a partner environment related to Google Home.



Concretely, when I use google home to give orders on devices, Google calls my API to execute them (as it does with Philips Hue, Netatmo etc ...).



My problem is this: I use keycloak for OAuth management. the Google console has been configured to use it and it works. However my refresh_token expire and this forces the user to delete the linked account and then postpone it.



My question is this: Does Google expect to get an infinite refresh_token after giving its authorization_code? Or I missed something, because Google does not seem to restart the normal connection procedure.



Keycloak 3.2, Google homegraph action-on-google







oauth token actions-on-google google-home refresh-token






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 31 '18 at 14:18









Prisoner

35.8k33462




35.8k33462










asked Dec 31 '18 at 11:55









Léo SEGRETAINLéo SEGRETAIN

1




1













  • This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

    – Prisoner
    Dec 31 '18 at 14:19











  • I have the keycloak configuration, so i know that the SSO timeout has a max

    – Léo SEGRETAIN
    Jan 2 at 6:22



















  • This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

    – Prisoner
    Dec 31 '18 at 14:19











  • I have the keycloak configuration, so i know that the SSO timeout has a max

    – Léo SEGRETAIN
    Jan 2 at 6:22

















This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

– Prisoner
Dec 31 '18 at 14:19





This seems odd. What evidence do you have that the refresh_token is expiring (or that it should)? Refresh tokens normally have no expiration. (How would you refresh an expired refresh token?)

– Prisoner
Dec 31 '18 at 14:19













I have the keycloak configuration, so i know that the SSO timeout has a max

– Léo SEGRETAIN
Jan 2 at 6:22





I have the keycloak configuration, so i know that the SSO timeout has a max

– Léo SEGRETAIN
Jan 2 at 6:22












2 Answers
2






active

oldest

votes


















0














Typically, yes, Google assumes the refresh_token has either no expiration or an extremely long expiration period. But it does acknowledge that the refresh_token can either expire or be revoked. In that case, you need to make sure your OAuth server returns HTTP code 400 with the OAuth error invalid_grant.






share|improve this answer































    -1














    I personnaly consider a good practice to revoke refresh tokens after an period of inactivity.
    This gives a pretty good user experience while keeping the database updated.






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53987199%2fdoes-google-wait-for-an-infinite-refresh-token-for-cloud-partner-calls%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      Typically, yes, Google assumes the refresh_token has either no expiration or an extremely long expiration period. But it does acknowledge that the refresh_token can either expire or be revoked. In that case, you need to make sure your OAuth server returns HTTP code 400 with the OAuth error invalid_grant.






      share|improve this answer




























        0














        Typically, yes, Google assumes the refresh_token has either no expiration or an extremely long expiration period. But it does acknowledge that the refresh_token can either expire or be revoked. In that case, you need to make sure your OAuth server returns HTTP code 400 with the OAuth error invalid_grant.






        share|improve this answer


























          0












          0








          0







          Typically, yes, Google assumes the refresh_token has either no expiration or an extremely long expiration period. But it does acknowledge that the refresh_token can either expire or be revoked. In that case, you need to make sure your OAuth server returns HTTP code 400 with the OAuth error invalid_grant.






          share|improve this answer













          Typically, yes, Google assumes the refresh_token has either no expiration or an extremely long expiration period. But it does acknowledge that the refresh_token can either expire or be revoked. In that case, you need to make sure your OAuth server returns HTTP code 400 with the OAuth error invalid_grant.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 2 at 12:13









          PrisonerPrisoner

          35.8k33462




          35.8k33462

























              -1














              I personnaly consider a good practice to revoke refresh tokens after an period of inactivity.
              This gives a pretty good user experience while keeping the database updated.






              share|improve this answer




























                -1














                I personnaly consider a good practice to revoke refresh tokens after an period of inactivity.
                This gives a pretty good user experience while keeping the database updated.






                share|improve this answer


























                  -1












                  -1








                  -1







                  I personnaly consider a good practice to revoke refresh tokens after an period of inactivity.
                  This gives a pretty good user experience while keeping the database updated.






                  share|improve this answer













                  I personnaly consider a good practice to revoke refresh tokens after an period of inactivity.
                  This gives a pretty good user experience while keeping the database updated.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Mar 13 at 23:09









                  FabienFabien

                  345




                  345






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53987199%2fdoes-google-wait-for-an-infinite-refresh-token-for-cloud-partner-calls%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      MongoDB - Not Authorized To Execute Command

                      How to fix TextFormField cause rebuild widget in Flutter

                      in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith