GetAuthenticator() public static method

public static GetAuthenticator ( ) : IHiDriveAuthenticator
return IHiDriveAuthenticator
        public async Task <AccountConfiguration> CreateAccount()
        {
            var f = new OidcWaitForm();

            f.InitEx(StorageType.HiDrive);
            f.Show();


            var browser = new OidcSystemBrowser();

            var redirectUri = browser.RedirectUri;

            var authenticator = HiDriveHelper.GetAuthenticator();
            var uri           = authenticator.GetAuthorizationCodeRequestUrl(new AuthorizationScope(AuthorizationRole.User, AuthorizationPermission.ReadWrite), redirectUri);
            var query         = await browser.GetQueryStringAsync(uri.ToString(), f.CancellationToken);

            var code  = query["code"];
            var token = await authenticator.AuthenticateByAuthorizationCodeAsync(code);

            var client = HiDriveHelper.GetClient(authenticator);
            var user   = await client.User.Me.Get().ExecuteAsync();

            var account = new AccountConfiguration()
            {
                Type   = StorageType.HiDrive,
                Id     = user.Account,
                Name   = user.Alias,
                Secret = authenticator.Token.RefreshToken,
            };


            f.Close();

            return(account);
        }
Esempio n. 2
0
 public HiDriveStorageConfigurator()
 {
     _authenticator = HiDriveHelper.GetAuthenticator();
 }