Home | History | Annotate | Download | only in setup
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef REMOTING_HOST_SETUP_OAUTH_HELPER_H
      6 #define REMOTING_HOST_SETUP_OAUTH_HELPER_H
      7 
      8 #include <string>
      9 
     10 namespace remoting {
     11 
     12 // Gets the OAuth scope of the host's refresh token.
     13 std::string GetOauthScope();
     14 
     15 // Gets the default redirect URL for the OAuth dance.
     16 std::string GetDefaultOauthRedirectUrl();
     17 
     18 // Gets a URL at which the OAuth dance starts.
     19 std::string GetOauthStartUrl(const std::string& redirect_url);
     20 
     21 // Returns the OAuth authorization code embedded in a URL, or the empty string
     22 // if there is no such code.
     23 // To get an OAuth authorization code, (i) start a browser, (ii) navigate it
     24 // to |GetOauthStartUrl()|, (iii) ask the user to sign on to their account,
     25 // and grant the requested permissions, (iv) monitor the URLs that the browser
     26 // shows, passing each one to |GetOauthCodeInUrl()|, until that function returns
     27 // a non-empty string. That string is the authorization code.
     28 std::string GetOauthCodeInUrl(const std::string& url,
     29                               const std::string& redirect_url);
     30 
     31 }  // namespace remoting
     32 
     33 #endif  // REMOTING_HOST_SETUP_OAUTH_HELPER_H
     34