private static async Task acquireAndAddMsUser(List <UserBase> userList, Microsoft.Identity.Client.IAccount msAccount) { var token = new MicrosoftToken(msAccount); await token.AcquireNewToken(); userList.Add(await UserBase.AcquireUserFromToken(token)); }
public async Task <XboxLiveToken> Authenticate(MicrosoftToken token, CancellationToken cancellation = default) { var xbl_result = await XblAuthenticate(new XblAuthProperties(token.Access_token), cancellation); string xbl_token = xbl_result.Token; var xsts_result = await XstsAuthenticate(new XstsAuthProperties(xbl_token), cancellation); return(new XboxLiveToken() { XblAuthResult = xbl_result, XstsAuthResult = xsts_result }); }
private async void Microsoft_Click(object sender, RoutedEventArgs e) { viewModel.IsButtonAvailable = false; viewModel.IsLoading = true; try { var token = new MicrosoftToken(); await token.AcquireNewToken(); var msClient = new MicrosoftClient(token); AppGlobalVariables.Users.Add(await msClient.GetUserDataAsync()); } catch (Exception ex) { DebugHelper.Debugger.WriteErrorLog("Error in acquiring MS token on AuthDialog.", ex); } dialogHost.Hide(); }
public async void ExecuteOnPageAppearing() { UserEmail = await SecureStorage.GetAsync("Email"); string socialProvider = await SecureStorage.GetAsync("Provider"); OAuth2ProviderType = (OAuth2ProviderType)Enum.Parse(typeof(OAuth2ProviderType), socialProvider); var token = string.Empty; switch (OAuth2ProviderType) { case OAuth2ProviderType.NONE: break; case OAuth2ProviderType.TRADITIONAL: break; case OAuth2ProviderType.FACEBOOK: token = await SecureStorage.GetAsync(OAuth2ProviderType.ToString()); FacebookCredentials = JsonConvert.DeserializeObject <FacebookToken>(token); ProviderToken = FacebookCredentials.AccessToken; ProviderName = OAuth2ProviderType.FACEBOOK.ToString(); break; case OAuth2ProviderType.GOOGLE: token = await SecureStorage.GetAsync(OAuth2ProviderType.ToString()); GoogleCredentials = JsonConvert.DeserializeObject <GoogleToken>(token); ProviderToken = GoogleCredentials.AccessToken; ProviderName = OAuth2ProviderType.GOOGLE.ToString(); break; case OAuth2ProviderType.MICROSOFT: token = await SecureStorage.GetAsync(OAuth2ProviderType.ToString()); MicrosoftCredentials = JsonConvert.DeserializeObject <MicrosoftToken>(token); ProviderToken = MicrosoftCredentials.AccessToken; ProviderName = OAuth2ProviderType.MICROSOFT.ToString(); break; } }
public async Task <MicrosoftToken> RefreshMicrosoftAccessToken(MicrosoftToken token, CancellationToken cancellation = default) { Dictionary <string, string> args = new(); args.Add("client_id", ClientId); args.Add("refresh_token", token.Refresh_token); args.Add("grant_type", "refresh_token"); args.Add("redirect_uri", RedirectUri.AbsoluteUri); FormUrlEncodedContent content = new(args); var result = await HttpRequesterAPI.client.PostAsync(OAuthTokenUri, content, cancellation); result.EnsureSuccessStatusCode(); string jsonStr = await result.Content.ReadAsStringAsync(); MicrosoftToken re_token = JsonConvert.DeserializeObject <MicrosoftToken>(jsonStr); return(re_token); }
public async Task <MicrosoftUser> GetProfile(MicrosoftToken ms_token, MinecraftToken mc_token, CancellationToken cancellation) { HttpRequestMessage request = new(HttpMethod.Get, ProfileUri); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", mc_token.AccessToken); var result = await HttpRequesterAPI.client.SendAsync(request, cancellation); result.EnsureSuccessStatusCode(); var respond_str = await result.Content.ReadAsStringAsync(); Console.WriteLine(respond_str); MicrosoftUser profile = JsonConvert.DeserializeObject <MicrosoftUser>(respond_str); profile.MicrosoftToken = ms_token; profile.MinecraftToken = mc_token; return(profile); }