Skip to content
This repository was archived by the owner on May 13, 2025. It is now read-only.

rgregg/microsoft-account-winforms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft Account Windows Forms

This library provides an easy way to generate Microsoft Account access and refresh tokens from a Windows Forms application.

Before using this library, you need to register your application on the Microsoft Account developer center. Your application needs to be configured as a Mobile or Desktop Client application on the API settings page for this library to work.

To retrieve a one-time access token:

using MicrosoftAccount.WindowsForms;

public async void Authenticate()
{
  string accessToken = await MicrosoftAccountOAuth.LoginOneTimeAuthorizationAsync("client_id", 
    new string[] { "wl.signin", "wl.basic" });
}

To retrieve a refresh token along with your access token to enable your app to stay signed-in for longer than the 1 hour access token validitity period:

using MicrosoftAccount.WindowsForms;

public async void Authenticate()
{
  var token = await MicrosoftAccountOAuth.LoginAuthorizationCodeFlowAsync("client_id",
    "client_secret", new string[] { "wl.offline_access", "wl.basic", "wl.signin" });
  
  string accessToken = token.AccessToken;
  string refreshToken = token.RefreshToken;
  
  // Store these values somewhere useful. Treat them like passwords!
}

After the access token has expired, you can redeem the refresh token for a new set of tokens using RedeemRefreshTokenAsync():

public async void RenewAuthentication()
{
  var token = await MicrosoftAccountOAuth.LoginAuthorizationCodeFlowAsync("client_id",
    "client_secret", "refresh_token");
  
  string accessToken = token.AccessToken;
  string refreshToken = token.RefreshToken;
  
  // Store these values somewhere useful. Treat them like passwords!
}

About

Simple Microsoft Account Login project for Windows Forms

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages