/// <summary> /// Acquires security token from the authority using an device code previously received. /// This method does not lookup token cache, but stores the result in it, so it can be looked up using other methods such as <see cref="AuthenticationContext.AcquireTokenSilentAsync(string, string, UserIdentifier)"/>. /// </summary> /// <param name="deviceCodeResult">The device code result received from calling AcquireDeviceCodeAsync.</param> /// <returns>It contains Access Token, Refresh Token and the Access Token's expiration time.</returns> public async Task <AuthenticationResult> AcquireTokenByDeviceCodeAsync(DeviceCodeResult deviceCodeResult) { RequestData requestData = new RequestData { Authenticator = this.Authenticator, TokenCache = this.TokenCache, ExtendedLifeTimeEnabled = this.ExtendedLifeTimeEnabled }; var handler = new AcquireTokenByDeviceCodeHandler(requestData, deviceCodeResult); return(await handler.RunAsync()); }
/// <summary> /// Acquires security token from the authority using an device code previously received. /// This method does not lookup token cache, but stores the result in it, so it can be looked up using other methods such as <see cref="AuthenticationContext.AcquireTokenSilentAsync(string, string, UserIdentifier)"/>. /// </summary> /// <param name="deviceCodeResult">The device code result received from calling AcquireDeviceCodeAsync.</param> /// <returns>It contains Access Token, Refresh Token and the Access Token's expiration time.</returns> public async Task <AuthenticationResult> AcquireTokenByDeviceCodeAsync(DeviceCodeResult deviceCodeResult) { if (deviceCodeResult == null) { throw new ArgumentNullException("deviceCodeResult"); } RequestData requestData = new RequestData { Authenticator = this.Authenticator, TokenCache = this.TokenCache, ExtendedLifeTimeEnabled = this.ExtendedLifeTimeEnabled, Resource = deviceCodeResult.Resource, ClientKey = new ClientKey(deviceCodeResult.ClientId) }; var handler = new AcquireTokenByDeviceCodeHandler(requestData, deviceCodeResult); return(await handler.RunAsync().ConfigureAwait(false)); }
/// <summary> /// Acquires security token from the authority using an device code previously received. /// This method does not lookup token cache, but stores the result in it, so it can be looked up using other methods such as <see cref="AuthenticationContext.AcquireTokenSilentAsync(string, string, UserIdentifier)"/>. /// </summary> /// <param name="deviceCodeResult">The device code result received from calling AcquireDeviceCodeAsync.</param> /// <returns>It contains Access Token, Refresh Token and the Access Token's expiration time.</returns> public async Task <AuthenticationResult> AcquireTokenByDeviceCodeAsync(DeviceCodeResult deviceCodeResult) { var handler = new AcquireTokenByDeviceCodeHandler(this.Authenticator, this.TokenCache, deviceCodeResult); return(await handler.RunAsync()); }