public LuminAccessTokenProviderOAuth1(GoogleDriveSettings googleDriveSettings) { settings = googleDriveSettings; oAuthEvent += OnAuthentication; // foreach (var uri in settings.GenericClientCredentials.RedirectUris.Where(uri => uri.Contains("urn"))) // redirectUri = uri; // if (string.IsNullOrEmpty(redirectUri)) // foreach (var uri in settings.GenericClientCredentials.RedirectUris.Where(uri => uri.Contains("localhost"))) // redirectUri = uri; redirectDispatcher = MLDispatch.OAuthRegisterSchema(redirectUri, ref oAuthEvent); cancelDispatcher = MLDispatch.OAuthRegisterSchema(cancelUri, ref oAuthEvent); }
public void ProvideAccessToken() { if (string.IsNullOrEmpty(authorizationCode)) // Access token isn't available; retrieve it. { var authRequest = string.Format("{0}?response_type=code&scope={1}&redirect_uri={2}&client_id={3}", settings.GenericClientCredentials.AuthUri, Uri.EscapeDataString(settings.AccessScope), Uri.EscapeDataString(redirectUri), settings.GenericClientCredentials.ClientId); CheckAndRequestPrivilege(MLPrivileges.Id.Internet); CheckAndRequestPrivilege(MLPrivileges.Id.LocalAreaNetwork); CheckAndRequestPrivilege(MLPrivileges.Id.SecureBrowserWindow); Debug.Log("Requesting: " + authRequest); MLDispatch.OAuthOpenWindow(authRequest, cancelUri); } else { Debug.Log("AccessToken: " + authorizationCode); settings.CachedAccessToken = authorizationCode; } }