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