/*
* Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
* See https://github.com/openiddict/openiddict-core for more information concerning
* the license and the contributors participating to this project.
*/
using System;
using System.Collections.Generic;
namespace OpenIddict.Models
{
///
/// Represents an OpenIddict application.
///
public class OpenIddictApplication : OpenIddictApplication
{
public OpenIddictApplication()
{
// Generate a new string identifier.
Id = Guid.NewGuid().ToString();
}
}
///
/// Represents an OpenIddict application.
///
public class OpenIddictApplication : OpenIddictApplication, OpenIddictToken>
where TKey : IEquatable
{ }
///
/// Represents an OpenIddict application.
///
public class OpenIddictApplication where TKey : IEquatable
{
///
/// Gets the list of the authorizations associated with this application.
///
public virtual IList Authorizations { get; } = new List();
///
/// Gets or sets the client identifier
/// associated with the current application.
///
public virtual string ClientId { get; set; }
///
/// Gets or sets the client secret associated with the current application.
/// Note: depending on the application manager used to create this instance,
/// this property may be hashed or encrypted for security reasons.
///
public virtual string ClientSecret { get; set; }
///
/// Gets or sets the display name
/// associated with the current application.
///
public virtual string DisplayName { get; set; }
///
/// Gets or sets the unique identifier
/// associated with the current application.
///
public virtual TKey Id { get; set; }
///
/// Gets or sets the logout callback URLs
/// associated with the current application,
/// stored as a unique space-separated string.
///
public virtual string PostLogoutRedirectUris { get; set; }
///
/// Gets or sets the callback URLs
/// associated with the current application,
/// stored as a unique space-separated string.
///
public virtual string RedirectUris { get; set; }
///
/// Gets or sets the timestamp associated with the current
/// application, which is used as a concurrency token.
///
public virtual byte[] Timestamp { get; set; }
///
/// Gets the list of the tokens associated with this application.
///
public virtual IList Tokens { get; } = new List();
///
/// Gets or sets the application type
/// associated with the current application.
///
public virtual string Type { get; set; }
}
}