Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-130844

[OAuth] Post "Qt 6.9 FF" items for Device Authorization Flow support

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • None

    Description

      This task is a collection of things to do for Device Authorization Flow support after 6.9 feature freeze.

      • _q_authenticate is used to handle authenticationRequired(QAuthenticator*) signal. Role and need for that needs to be clarified with device flow (currently not implemented)
      • Both QOAuth2AuthorizationCodeFlow and QOAuth2DeviceAuthorizationFlow have 'accessTokenURL' property. The name should actually be "tokenURL" because there are several tokens: access token, refresh token, ID token. Therefore deprecate the QOAuth2AuthorizationCodeFlow::accessTokenUrl and create a "tokenUrl" in the baseclass (and remove the temporary QOAuth2DeviceAuthorizationFlow::accessTokenUrl)
        • This was discussed in review, but avoid too many deprecations in general, let's not
      • Qt 6.9 introduces setModifyTokenRequest. However with device flow this also includes the authorization request => name "tokenRequest" is too narrow
        • has been now renamed as setModifyNetworkRequest
      • tst_oauth2 and tst_deviceflow have many things in common, but sharing them is not trivial, or more aptly put, results in messy autotest code with a lot of if/elses. However the test cases should be finegroomed if more can be shared. Possibly a new tst_authorizationcodeflow test should be introduced, and the tst_oauth2 should just focus on testing abstract oauth2 setters
      • error(), requestFailed(), and errorOccurred() handling. This is not strictly speaking a device flow issue only, but the error handling should be revisited. Ideally the "errorOccurred" would be the catch-all error signal
      • add token convenience expiration things to device flow class. They are initially introduced to authorization code-flow class only because device flow is not yet merged. But they should be taken into use in device flow class as well
      • Update Qt OAuth2 Overview documentation. It's focused on then-only flow, authorization code flow. But the new flow should be taken into account as well

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              vuokko Juha Vuolle
              vuokko Juha Vuolle
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes