/// <summary>
    /// Adds an openid resource.
    /// </summary>
    /// <param name="configure">The <see cref="Action{IdentityResourceBuilder}"/> to configure the openid scope.</param>
    public void AddOpenId(Action <IdentityResourceBuilder> configure)
    {
        var resource = IdentityResourceBuilder.OpenId();

        configure(resource);
        Add(resource.Build());
    }
    /// <summary>
    /// Adds a profile resource.
    /// </summary>
    /// <param name="configure">The <see cref="Action{IdentityResourceBuilder}"/> to configure the profile scope.</param>
    public void AddProfile(Action <IdentityResourceBuilder> configure)
    {
        var resource = IdentityResourceBuilder.Profile();

        configure(resource);
        Add(resource.Build());
    }
Exemple #3
0
    public void Configure(ApiAuthorizationOptions options)
    {
        var data = _configuration.Get <IdentityResourceDefinition>();

        if (data != null && data.Scopes != null)
        {
            var scopes = ParseScopes(data.Scopes);
            if (scopes != null && scopes.Length > 0)
            {
                ClearDefaultIdentityResources(options);
            }
            foreach (var scope in scopes)
            {
                switch (scope)
                {
                case Duende.IdentityServer.IdentityServerConstants.StandardScopes.OpenId:
                    options.IdentityResources.Add(IdentityResourceBuilder.OpenId()
                                                  .AllowAllClients()
                                                  .FromConfiguration()
                                                  .Build());
                    break;

                case Duende.IdentityServer.IdentityServerConstants.StandardScopes.Profile:
                    options.IdentityResources.Add(IdentityResourceBuilder.Profile()
                                                  .AllowAllClients()
                                                  .FromConfiguration()
                                                  .Build());
                    break;

                case Duende.IdentityServer.IdentityServerConstants.StandardScopes.Address:
                    options.IdentityResources.Add(IdentityResourceBuilder.Address()
                                                  .AllowAllClients()
                                                  .FromConfiguration()
                                                  .Build());
                    break;

                case Duende.IdentityServer.IdentityServerConstants.StandardScopes.Email:
                    options.IdentityResources.Add(IdentityResourceBuilder.Email()
                                                  .AllowAllClients()
                                                  .FromConfiguration()
                                                  .Build());
                    break;

                case Duende.IdentityServer.IdentityServerConstants.StandardScopes.Phone:
                    options.IdentityResources.Add(IdentityResourceBuilder.Phone()
                                                  .AllowAllClients()
                                                  .FromConfiguration()
                                                  .Build());
                    break;

                default:
                    throw new InvalidOperationException($"Invalid identity resource name '{scope}'");
                }
            }
        }
    }
 /// <summary>
 /// Adds a profile resource.
 /// </summary>
 public void AddProfile() =>
 Add(IdentityResourceBuilder.Profile().Build());
 /// <summary>
 /// Adds an openid resource.
 /// </summary>
 public void AddOpenId() =>
 Add(IdentityResourceBuilder.OpenId().Build());
 /// <summary>
 /// Adds a phone resource.
 /// </summary>
 public void AddPhone() =>
 Add(IdentityResourceBuilder.Phone().Build());
 /// <summary>
 /// Adds an email resource.
 /// </summary>
 public void AddEmail() =>
 Add(IdentityResourceBuilder.Email().Build());
 /// <summary>
 /// Adds an address resource.
 /// </summary>
 public void AddAddress() =>
 Add(IdentityResourceBuilder.Address().Build());