private async Task RunUsingServiceAccount() { var requestUri = "path to server resource we want"; IAuthorizationCodeFlow authFLow = null; var userId = ""; TokenResponse token = null; var authUri = ""; ConfigurableMessageHandler messageHandler = new ConfigurableMessageHandler( new MyHandler() ); var cancellationToken = new CancellationToken(); cancellationToken.Register(() => { }); var credential = new UserCredential(authFLow, userId, token) { }; var accessToken = await credential.GetAccessTokenForRequestAsync(authUri, cancellationToken); // Create the service. var service = new Google.Apis.Datastore.v1beta3.DatastoreService(new BaseClientService.Initializer { ApplicationName = "Discovery Sample", ApiKey = "[YOUR_API_KEY_HERE]", }); var httpClient = new ConfigurableHttpClient(messageHandler); service.HttpClientInitializer.Initialize(httpClient); var res = await httpClient.GetAsync(requestUri); }
/// <summary> /// Constructs a new authorization code installed application with the given flow and code receiver. /// </summary> public AuthorizationCodeWebApp(IAuthorizationCodeFlow flow, string redirectUri, string state) { // TODO(peleyal): Provide a way to disable to random number in the end of the state parameter. this.flow = flow; this.redirectUri = redirectUri; this.state = state; }
public static UserCredential GetUserCredentialByRefreshToken(ApiDbContext _context, out string error) { UserCredential credential = null; TokenResponse responseToken = null; string refreshToken = string.Empty; string flowError; error = string.Empty; try { IAuthorizationCodeFlow flow = GoogleAuthorizationCodeFlow(out flowError); var user = _context.Users.FirstOrDefault(); refreshToken = user.Refreshtoken; responseToken = new TokenResponse() { RefreshToken = refreshToken }; credential = new UserCredential(flow, "user", responseToken); if (credential != null) { bool success = credential.RefreshTokenAsync(CancellationToken.None).Result; } } catch (Exception e) { credential = null; error = "Fallo autorizacion : " + e.Message; } return(credential); }
public Initializer(IAuthorizationCodeFlow authCodeFlow, ApplicationCredentials secret, IServiceConfigurationFactory configurationFactory) { Secret = secret; AuthCodeFlow = authCodeFlow; ConfigurationFactory = configurationFactory; }
static MyMailFlowMetadata() { using (var sr = new FileStream(System.Web.Hosting.HostingEnvironment.MapPath("~/secrets.json"), FileMode.Open, FileAccess.Read)) { flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer() { ClientSecrets = GoogleClientSecrets.Load(sr).Secrets, Scopes = new[] { GmailService.Scope.GmailReadonly }, DataStore = new Google.Apis.Util.Store.FileDataStore("Gmail.Api.Auth.Store") }); } }
static AppFlowMetadata() { flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer() { ClientSecrets = new ClientSecrets { ClientId = CLIENT_ID, ClientSecret = CLIENT_SECRET }, Scopes = new[] { DriveService.Scope.Drive } //,DataStore = new FileDataStore("C:\\secure\\Drive.Api.Auth.Store", true) }); }
public static AuthorizationCodeWebApp.AuthResult GetAuthResult(String uri, String user_id) { try { IAuthorizationCodeFlow flow = GetAuthCodeFlow(); if (flow != null) { return(new AuthorizationCodeWebApp(flow, uri, uri).AuthorizeAsync(user_id, CancellationToken.None).Result); } } catch (Exception r) { Util.Debug("Error getting AuthorizationCodeWebApp.AuthResult: " + Environment.NewLine + r.Message + " " + r.StackTrace); } return(null); }
protected void Authenticate() { var code = Request["code"]; if (String.IsNullOrEmpty(code)) { // See if we're authed AuthorizationCodeWebApp.AuthResult AuthResult = LeadsUtil.GetAuthResult(hf_uri.Value, hf_user_id.Value); if (AuthResult != null) { // User is authenticated.. if (AuthResult.RedirectUri == null) { lbl_title.Text = "You are now authenticated with Google Mail API.. you can close this window and return to DataGeek."; } // User is not authenticated, start the authentication process.. else { // Redirect the user to the authorization server. Response.Redirect(AuthResult.RedirectUri); } } else { Util.PageMessageAlertify(this, "Error getting auth result from Google, please try reloading this page."); } } else // When returning with a code to complete in-process authentication { IAuthorizationCodeFlow flow = LeadsUtil.GetAuthCodeFlow(); if (flow != null) { var token = flow.ExchangeCodeForTokenAsync(hf_user_id.Value, code, hf_uri.Value.Substring(0, hf_uri.Value.IndexOf("?")), CancellationToken.None).Result; // Extract the right state. try { var oauthState = AuthWebUtility.ExtracRedirectFromState(flow.DataStore, hf_user_id.Value, Request["state"]).Result; Response.Redirect(oauthState); } catch { Response.Redirect("authwithgmapi.aspx"); } } else { Util.PageMessageAlertify(this, "Error getting token from Google, please try reloading this page."); } } }
public AppFlowMetadata(Guid userId, IGoogleOAuthDataStore dataStore) { _userId = userId; _flow = new ForceOfflineGoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets { ClientId = ConsumerKey, ClientSecret = ConsumerSecret }, Scopes = new[] { AnalyticsReportingService.Scope.AnalyticsReadonly }, DataStore = dataStore }); }
static GoogleDriveHelper() { var flowInitializer = new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets { ClientId = GoogleDriveClientId, ClientSecret = GoogleDriveClientSecret }, Scopes = Scopes, HttpClientFactory = new GoogleDriveHttpClientFactory() }; AuthFlow = new GoogleAuthorizationCodeFlow(flowInitializer); }
//public AppFlowMetadata() { } public AppFlowMetadata(string appId, string appSecret) { AppId = appId; AppSecret = appSecret; flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets { ClientId = AppId, ClientSecret = AppSecret }, Scopes = new[] { "email" }, DataStore = new FileDataStore("Drive.Api.Auth.Store") }); }
public static UserCredential GetGoogleUserCredentialByRefreshToken(string refreshToken) { UserCredential userCredential = null; IAuthorizationCodeFlow authorizationCodeFlow = GoogleAuthorizationCodeFlow(); TokenResponse tokenResponse = new TokenResponse() { RefreshToken = refreshToken }; if (authorizationCodeFlow != null && tokenResponse != null) { userCredential = new UserCredential(authorizationCodeFlow, "user", tokenResponse); } return(userCredential); }
/// <summary> /// function generates the google oauth credentials /// </summary> /// <returns></returns> public Google.Apis.Auth.OAuth2.UserCredential getGoogleOauthCredentials() { Google.Apis.Auth.OAuth2.Responses.TokenResponse responseData = new Google.Apis.Auth.OAuth2.Responses.TokenResponse(); responseData.AccessToken = this.Token; responseData.RefreshToken = this.RefreshToken; GoogleAuthorizationCodeFlow.Initializer myInit = new GoogleAuthorizationCodeFlow.Initializer(); AuthorizationCodeFlow.Initializer codeFlowIntial = myInit; codeFlowIntial.ClientSecrets = new ClientSecrets(); string googleClientId = ConfigurationManager.AppSettings["googleClientId"]; string googleClientSecret = ConfigurationManager.AppSettings["googleClientSecret"]; codeFlowIntial.ClientSecrets.ClientId = googleClientId; codeFlowIntial.ClientSecrets.ClientSecret = googleClientSecret; IAuthorizationCodeFlow myFlow = AppFlowMetadata.getFlow(); Google.Apis.Auth.OAuth2.UserCredential RetValue = new Google.Apis.Auth.OAuth2.UserCredential(myFlow, this.ID, responseData); return(RetValue); }
public static UserCredential GetGoogleUserCredentialByRefreshToken(string refreshToken, out string error) { TokenResponse respnseToken = null; UserCredential credential = null; string flowError; error = string.Empty; try { // Get a new IAuthorizationCodeFlow instance IAuthorizationCodeFlow flow = GoogleAuthorizationCodeFlow(out flowError); respnseToken = new TokenResponse() { RefreshToken = refreshToken }; // Get a new Credential instance if ((flow != null && string.IsNullOrWhiteSpace(flowError)) && respnseToken != null) { credential = new UserCredential(flow, "user", respnseToken); } // Get a new Token instance if (credential != null) { bool success = credential.RefreshTokenAsync(CancellationToken.None).Result; } // Set the new Token instance if (credential.Token != null) { string newRefreshToken = credential.Token.RefreshToken; } } catch (Exception ex) { credential = null; error = "UserCredential failed: " + ex.ToString(); } return(credential); }
public static IAuthorizationCodeFlow GoogleAuthorizationCodeFlow(out string error) { IAuthorizationCodeFlow flow = null; error = string.Empty; try { flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = GoogleClienSecrets, Scopes = Scopes, }); } catch (Exception e) { flow = null; error = "Fallo el authorizationCodeFlow Initialization" + e.Message; } return(flow); }
public static IAuthorizationCodeFlow GoogleAuthorizationCodeFlow(out string error) { IAuthorizationCodeFlow flow = null; error = string.Empty; try { flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = GoogleClientSecrets, Scopes = Scopes }); } catch (Exception ex) { flow = null; error = "Failed to AuthorizationCodeFlow Initialization: " + ex.ToString(); } return(flow); }
public BotUserCredential(IAuthorizationCodeFlow flow, User user, TokenResponse token) : base(flow, user.Id.ToString(), token) { From = user; }
/// <summary> /// Constructs a new authorization code for Windows Phone targeting an installed application flow. /// </summary> /// <param name="flow">An authorization code flow.</param> public AuthorizationCodeWPInstalledApp(IAuthorizationCodeFlow flow) { innerInstallApp = new AuthorizationCodeInstalledApp(flow, new AuthorizationCodeBroker()); }
/// <summary>Constructs a new credential instance.</summary> /// <param name="flow">Authorization code flow.</param> /// <param name="userId">User identifier.</param> /// <param name="token">An initial token for the user.</param> public UserCredential(IAuthorizationCodeFlow flow, string userId, TokenResponse token) { this.flow = flow; this.userId = userId; this.token = token; }
/// <inheritdoc /> /// <summary> /// This constructor provides a way to allow more control over the OAuth 2.0 authentication flow. /// </summary> /// <param name="flow">The OAuth authorization flow.</param> /// <param name="userId">The user ID string.</param> /// <param name="token">The OAuth token.</param> public PlatformRefreshTokenCredential(IAuthorizationCodeFlow flow, string userId, TokenResponse token) : base(flow, userId, token) { }
public UserCredentials(Initializer initializer) { _flow = initializer.AuthCodeFlow; _secret = initializer.Secret; ApiConfig = initializer.ConfigurationFactory.CreateConfiguration(); }
public AccountController(BudgetContext budgetContext, Google.Apis.Auth.OAuth2.Flows.IAuthorizationCodeFlow authorizationFlow, IOptions <OAuthConfig> oauthConfig) { _budgetContext = budgetContext; _authorizationFlow = authorizationFlow; _oauthConfig = oauthConfig; }
protected virtual void Dispose(bool disposing) { if (!disposing) return; if (_flow != null) { _flow.Dispose(); _flow = null; } }
/// <summary> /// Constructs a new authorization code installed application with the given flow and code receiver. /// </summary> public AuthorizationCodeInstalledApp(IAuthorizationCodeFlow flow, ICodeReceiver codeReceiver) { this.flow = flow; this.codeReceiver = codeReceiver; }
/// <inheritdoc /> /// <summary> /// </summary> /// <param name="flow">The OAuth authorization flow.</param> /// <param name="userId">The user ID string.</param> /// <param name="token">The OAuth token.</param> protected PlatformCredential(IAuthorizationCodeFlow flow, string userId, TokenResponse token) : base(flow, userId, token) { }
/// <summary> /// Constructs a new authorization code for Windows Store application targeting an installed application flow. /// </summary> /// <param name="flow">An authorization code flow.</param> public AuthorizationCodeWindowsInstalledApp(IAuthorizationCodeFlow flow) { innerInstallApp = new AuthorizationCodeInstalledApp(flow, new AuthorizationCodeBroker()); }
public AppFlowMetadata(string applicationPath, string googleCredentialsJson) { try { GoogleClientJson googleClientJson = GoogleClientJson.Load(googleCredentialsJson); var initializer = new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets { ClientId = googleClientJson.Web.ClientId, ClientSecret = googleClientJson.Web.ClientSecret }, Scopes = new[] {CalendarService.Scope.Calendar}, DataStore = new FileDataStore(applicationPath, FileDataStoreFolder) }; _flow = new GoogleAuthorizationCodeFlow(initializer); _googleUserId = googleClientJson.Web.ClientEmail; Valid = true; } catch (Exception e) { Logger.SetLog(e); Valid = false; } }