summaryrefslogtreecommitdiffstats
path: root/remoting/host/setup/oauth_helper.h
blob: a762c2315b66e00bef9b293a6777b780a7b09821 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef REMOTING_HOST_SETUP_OAUTH_HELPER_H
#define REMOTING_HOST_SETUP_OAUTH_HELPER_H

#include <string>

namespace remoting {

// Gets the OAuth scope of the host's refresh token.
std::string GetOauthScope();

// Gets a URL at which the OAuth dance starts.
std::string GetOauthStartUrl();

// Gets a redirect URL for the OAuth dance.
std::string GetOauthRedirectUrl();

// Returns the OAuth authorization code embedded in a URL, or the empty string
// if there is no such code.
// To get an OAuth authorization code, (i) start a browser, (ii) navigate it
// to |GetOauthStartUrl()|, (iii) ask the user to sign on to their account,
// and grant the requested permissions, (iv) monitor the URLs that the browser
// shows, passing each one to |GetOauthCodeInUrl()|, until that function returns
// a non-empty string. That string is the authorization code.
std::string GetOauthCodeInUrl(const std::string& url);

}  // namespace remoting

#endif  // REMOTING_HOST_SETUP_OAUTH_HELPER_H