mirror of https://github.com/vitalif/grive2
Allow runs on a valid refresh token without requiring a redirect URI be provided
parent
3b5cb0f099
commit
ec50a5621b
|
@ -52,7 +52,6 @@
|
|||
|
||||
const std::string default_id = APP_ID ;
|
||||
const std::string default_secret = APP_SECRET ;
|
||||
const std::string default_redirect_uri = "http://localhost:9898" ;
|
||||
|
||||
using namespace gr ;
|
||||
namespace po = boost::program_options;
|
||||
|
@ -110,7 +109,7 @@ void InitLog( const po::variables_map& vm )
|
|||
}
|
||||
|
||||
// AuthCode reads an authorization code from the "code" query parameter passed
|
||||
// via client-side redirect to the redirect_uri specified in uri
|
||||
// via client-side redirect to the redirect uri specified in uri
|
||||
std::string AuthCode( std::string uri )
|
||||
{
|
||||
// Set up an HTTP listener that is waiting for Google
|
||||
|
@ -249,9 +248,7 @@ int Main( int argc, char **argv )
|
|||
std::string secret = vm.count( "secret" ) > 0
|
||||
? vm["secret"].as<std::string>()
|
||||
: default_secret ;
|
||||
std::string redirect_uri = vm.count( "redirect-uri" ) > 0
|
||||
? vm["redirect-uri"].as<std::string>()
|
||||
: default_redirect_uri ;
|
||||
std::string redirect_uri = config.Get("redirect-uri").Str();
|
||||
|
||||
OAuth2 token( http.get(), id, secret, redirect_uri ) ;
|
||||
|
||||
|
@ -274,7 +271,7 @@ int Main( int argc, char **argv )
|
|||
config.Set( "id", Val( id ) ) ;
|
||||
config.Set( "secret", Val( secret ) ) ;
|
||||
config.Set( "refresh_token", Val( token.RefreshToken() ) ) ;
|
||||
config.Set( "redirect_uri", Val( redirect_uri ) ) ;
|
||||
config.Set( "redirect-uri", Val( redirect_uri ) ) ;
|
||||
config.Save() ;
|
||||
}
|
||||
|
||||
|
@ -287,7 +284,7 @@ int Main( int argc, char **argv )
|
|||
refresh_token = config.Get("refresh_token").Str() ;
|
||||
id = config.Get("id").Str() ;
|
||||
secret = config.Get("secret").Str() ;
|
||||
redirect_uri = config.Get("redirect_uri").Str() ;
|
||||
redirect_uri = config.Get("redirect-uri").Str() ;
|
||||
}
|
||||
catch ( Exception& e )
|
||||
{
|
||||
|
|
|
@ -32,9 +32,10 @@ namespace po = boost::program_options;
|
|||
|
||||
namespace gr {
|
||||
|
||||
const std::string default_filename = ".grive";
|
||||
const char *env_name = "GR_CONFIG";
|
||||
const std::string default_root_folder = ".";
|
||||
const char *env_name = "GR_CONFIG";
|
||||
const std::string default_filename = ".grive";
|
||||
const std::string default_root_folder = ".";
|
||||
const std::string default_redirect_uri = "http://localhost:9898" ;
|
||||
|
||||
Config::Config( const po::variables_map& vm )
|
||||
{
|
||||
|
@ -47,8 +48,6 @@ Config::Config( const po::variables_map& vm )
|
|||
m_cmd.Add( "path", Val(vm.count("path") > 0
|
||||
? vm["path"].as<std::string>()
|
||||
: default_root_folder ) ) ;
|
||||
if ( vm.count( "redirect_uri" ) > 0 )
|
||||
m_cmd.Add( "redirect_uri", Val( vm["redirect_uri"].as<std::string>() ) ) ;
|
||||
m_cmd.Add( "dir", Val(vm.count("dir") > 0
|
||||
? vm["dir"].as<std::string>()
|
||||
: "" ) ) ;
|
||||
|
@ -60,6 +59,14 @@ Config::Config( const po::variables_map& vm )
|
|||
|
||||
m_path = GetPath( fs::path(m_cmd["path"].Str()) ) ;
|
||||
m_file = Read( ) ;
|
||||
|
||||
if ( vm.count( "redirect-uri" ) > 0 ) {
|
||||
m_cmd.Add( "redirect-uri", Val( vm["redirect-uri"].as<std::string>() ) );
|
||||
} else if (m_file.Has( "redirect-uri" )) {
|
||||
;
|
||||
} else {
|
||||
m_cmd.Add( "redirect-uri", Val( default_redirect_uri ) );
|
||||
}
|
||||
}
|
||||
|
||||
fs::path Config::GetPath( const fs::path& root_path )
|
||||
|
@ -86,7 +93,7 @@ void Config::Save( )
|
|||
|
||||
void Config::Set( const std::string& key, const Val& value )
|
||||
{
|
||||
m_file.Add( key, value ) ;
|
||||
m_file.Set( key, value ) ;
|
||||
}
|
||||
|
||||
Val Config::Get( const std::string& key ) const
|
||||
|
|
Loading…
Reference in New Issue