// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; using System.Net.Http; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Authentication; namespace Microsoft.AspNet.Authentication.OAuth { /// /// Configuration options for . /// public class OAuthOptions : RemoteAuthenticationOptions { public OAuthOptions() { Events = new OAuthEvents(); } /// /// Gets or sets the provider-assigned client id. /// public string ClientId { get; set; } /// /// Gets or sets the provider-assigned client secret. /// public string ClientSecret { get; set; } /// /// Gets or sets the URI where the client will be redirected to authenticate. /// public string AuthorizationEndpoint { get; set; } /// /// Gets or sets the URI the middleware will access to exchange the OAuth token. /// public string TokenEndpoint { get; set; } /// /// Gets or sets the URI the middleware will access to obtain the user information. /// This value is not used in the default implementation, it is for use in custom implementations of /// IOAuthAuthenticationEvents.Authenticated or OAuthAuthenticationHandler.CreateTicketAsync. /// public string UserInformationEndpoint { get; set; } /// /// Gets or sets the used to handle authentication events. /// public new IOAuthEvents Events { get { return (IOAuthEvents)base.Events; } set { base.Events = value; } } /// /// A list of permissions to request. /// public IList Scope { get; } = new List(); /// /// Gets or sets the type used to secure data handled by the middleware. /// public ISecureDataFormat StateDataFormat { get; set; } /// /// Defines whether access and refresh tokens should be stored in the /// after a successful authentication. /// You can set this property to false to reduce the size of the final /// authentication cookie. Note that social providers set this property to false by default. /// public bool SaveTokensAsClaims { get; set; } = true; } }