public ClientInformation(TokenResponse token, AuthEndpoints authType, Resources resource, string clientID, string clientSecret, string scopes, string redirectUri) { Token = token; AuthType = authType; Resource = resource; ClientID = clientID; ClientSecret = clientSecret; Scopes = scopes; RedirectUri = redirectUri; }
public DialogResult ShowDialog(out ClientInformation ClientInfo) { DialogResult dialogResult = this.ShowDialog(); // Build return values. // Those values are used to acquire another access token. TokenResponse AccessToken; string Resource; string ClientID; string ClientSecret; string Scopes; string RedirectUri; bool UseV2Endpoint; AuthEndpoints authEndpoint = new AuthEndpoints(); if (_tokenResponse.access_token == null && _tokenResponse.id_token != null) { // Using OpenID Connect _tokenResponse.access_token = _tokenResponse.id_token; } AccessToken = _tokenResponse; if (radioButton_WebApp.Checked) { Resource = _resource; ClientID = textBox_WebAppClientID.Text; ClientSecret = textBox_WebAppClientSecret.Text; Scopes = ""; RedirectUri = ""; UseV2Endpoint = false; authEndpoint = AuthEndpoints.OAuthV1; } else if (radioButton_NativeApp.Checked) { Resource = _resource; ClientID = ""; ClientSecret = ""; Scopes = ""; RedirectUri = ""; UseV2Endpoint = false; authEndpoint = AuthEndpoints.OAuthV1; } else if (radioButton_V2MobileApp.Checked) { Resource = ""; ClientID = textBox_V2MobileAppClientID.Text; ClientSecret = ""; Scopes = textBox_V2MobileAppScopes.Text; RedirectUri = textBox_V2MobileAppRedirectUri.Text; UseV2Endpoint = true; authEndpoint = AuthEndpoints.OAuthV2; } else if (radioButton_V2WebApp.Checked) { Resource = ""; ClientID = textBox_V2WebAppClientID.Text; ClientSecret = textBox_V2WebAppClientSecret.Text; Scopes = textBox_V2WebAppScopes.Text; RedirectUri = textBox_V2WebAppRedirectUri.Text; UseV2Endpoint = true; authEndpoint = AuthEndpoints.OAuthV2; } else { Resource = ""; ClientID = ""; ClientSecret = ""; Scopes = ""; RedirectUri = ""; UseV2Endpoint = false; authEndpoint = AuthEndpoints.Basic; } Resources resource = new Resources(); if (Resource == "Exchange Online") { resource = Resources.Outlook; } else if (Resource == "Microsoft Graph") { resource = Resources.Graph; } else if (Resource == "Office 365 Management API") { resource = Resources.Management; } else { resource = Resources.None; } ClientInformation result = new ClientInformation(AccessToken, authEndpoint, resource, ClientID, ClientSecret, Scopes, RedirectUri); ClientInfo = result; return(dialogResult); }