/// <summary> /// Get information about open-id contract asynchronously. /// </summary> /// <param name="discoveryDocumentationUri">Absolute URI of the open-id contract</param> /// <exception cref="ArgumentNullException">Thrown when parameter is null</exception> /// <returns>Open-id contract</returns> public Task <DiscoveryInformation> GetDiscoveryInformationAsync(Uri discoveryDocumentationUri) { if (discoveryDocumentationUri == null) { throw new ArgumentNullException(nameof(discoveryDocumentationUri)); } return(_getDiscoveryOperation.ExecuteAsync(discoveryDocumentationUri)); }
public async Task <GetIntrospectionResult> ResolveAsync(string discoveryDocumentationUrl) { if (string.IsNullOrWhiteSpace(discoveryDocumentationUrl)) { throw new ArgumentNullException(nameof(discoveryDocumentationUrl)); } Uri uri = null; if (!Uri.TryCreate(discoveryDocumentationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, discoveryDocumentationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri).ConfigureAwait(false); return(await ExecuteAsync(discoveryDocument.IntrospectionEndPoint).ConfigureAwait(false)); }
public async Task <JsonWebKeySet> ResolveAsync(string configurationUrl) { if (string.IsNullOrWhiteSpace(configurationUrl)) { throw new ArgumentNullException(nameof(configurationUrl)); } Uri uri = null; if (!Uri.TryCreate(configurationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, configurationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri).ConfigureAwait(false); return(await ExecuteAsync(discoveryDocument.JwksUri).ConfigureAwait(false)); }
public async Task <Core.Common.DTOs.ClientRegistrationResponse> ResolveAsync(Core.Common.DTOs.Client client, string configurationUrl) { if (string.IsNullOrWhiteSpace(configurationUrl)) { throw new ArgumentNullException(nameof(configurationUrl)); } Uri uri = null; if (!Uri.TryCreate(configurationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, configurationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri); return(await ExecuteAsync(client, discoveryDocument.RegistrationEndPoint)); }
public async Task <ApiResult> ResolveAsync(string discoveryDocumentationUrl, AuthorizationRequest request) { if (string.IsNullOrWhiteSpace(discoveryDocumentationUrl)) { throw new ArgumentNullException(nameof(discoveryDocumentationUrl)); } Uri uri = null; if (!Uri.TryCreate(discoveryDocumentationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, discoveryDocumentationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri); return(await ExecuteAsync(discoveryDocument.AuthorizationEndPoint, request)); }
public async Task <GetRegisterClientResult> ResolveAsync(SimpleIdServer.Dtos.Requests.ClientRequest client, string configurationUrl, string accessToken) { if (string.IsNullOrWhiteSpace(configurationUrl)) { throw new ArgumentNullException(nameof(configurationUrl)); } Uri uri = null; if (!Uri.TryCreate(configurationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, configurationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri).ConfigureAwait(false); return(await ExecuteAsync(client, discoveryDocument.RegistrationEndPoint, accessToken).ConfigureAwait(false)); }
public async Task <JObject> Resolve(string configurationUrl, string accessToken, bool inBody = false) { if (string.IsNullOrWhiteSpace(configurationUrl)) { throw new ArgumentNullException(nameof(configurationUrl)); } if (string.IsNullOrWhiteSpace(accessToken)) { throw new ArgumentNullException(nameof(accessToken)); } Uri uri = null; if (!Uri.TryCreate(configurationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, configurationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri); return(await GetUserInfoAsync(discoveryDocument.UserInfoEndPoint, accessToken)); }