コード例 #1
0
 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);
 }
コード例 #2
0
 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;
     }
 }