Refactoring Client of IdentityServer.

pull/206/head
Halil İbrahim Kalkan 8 years ago
parent 643ddfd222
commit 9db94559a3

@ -138,9 +138,7 @@ namespace Volo.Abp.IdentityServer.Clients
public virtual void AddGrantType(string grantType) public virtual void AddGrantType(string grantType)
{ {
AllowedGrantTypes.Add( AllowedGrantTypes.Add(new ClientGrantType(Id, grantType));
new ClientGrantType(Id, grantType)
);
} }
public virtual void AddGrantTypes(IEnumerable<string> grantTypes) public virtual void AddGrantTypes(IEnumerable<string> grantTypes)
@ -154,14 +152,27 @@ namespace Volo.Abp.IdentityServer.Clients
public virtual void AddSecret(string value, DateTime? expiration = null, string type = IdentityServerConstants.SecretTypes.SharedSecret, string description = null) public virtual void AddSecret(string value, DateTime? expiration = null, string type = IdentityServerConstants.SecretTypes.SharedSecret, string description = null)
{ {
ClientSecrets.Add( ClientSecrets.Add(new ClientSecret(Id, value, expiration, type, description));
new ClientSecret(Id, value, expiration, type, description)
);
} }
public virtual void AddScope(string scope) public virtual void AddScope(string scope)
{ {
AllowedScopes.Add(new ClientScope(Id, scope)); AllowedScopes.Add(new ClientScope(Id, scope));
} }
public virtual void AddCorsOrigin(string origin)
{
AllowedCorsOrigins.Add(new ClientCorsOrigin(Id, origin));
}
public virtual void AddRedirectUri(string redirectUri)
{
RedirectUris.Add(new ClientRedirectUri(Id, redirectUri));
}
public virtual void AddPostLogoutRedirectUri(string postLogoutRedirectUri)
{
PostLogoutRedirectUris.Add(new ClientPostLogoutRedirectUri(Id, postLogoutRedirectUri));
}
} }
} }

@ -1,22 +1,26 @@
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
namespace Volo.Abp.IdentityServer.Clients namespace Volo.Abp.IdentityServer.Clients
{ {
public class ClientCorsOrigin : Entity<Guid> public class ClientCorsOrigin : Entity
{ {
public virtual string Origin { get; set; } public virtual Guid ClientId { get; protected set; }
public virtual Guid ClientId { get; set; } public virtual string Origin { get; protected set; }
protected ClientCorsOrigin() protected ClientCorsOrigin()
{ {
} }
public ClientCorsOrigin(Guid id) protected internal ClientCorsOrigin(Guid clientId, [NotNull] string origin)
{ {
Id = id; Check.NotNull(origin, nameof(origin));
ClientId = clientId;
Origin = origin;
} }
} }
} }

@ -1,22 +1,26 @@
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
namespace Volo.Abp.IdentityServer.Clients namespace Volo.Abp.IdentityServer.Clients
{ {
public class ClientPostLogoutRedirectUri : Entity<Guid> public class ClientPostLogoutRedirectUri : Entity<Guid>
{ {
public virtual string PostLogoutRedirectUri { get; set; } public virtual Guid ClientId { get; protected set; }
public virtual Guid ClientId { get; set; } public virtual string PostLogoutRedirectUri { get; protected set; }
protected ClientPostLogoutRedirectUri() protected ClientPostLogoutRedirectUri()
{ {
} }
public ClientPostLogoutRedirectUri(Guid id) protected internal ClientPostLogoutRedirectUri(Guid clientId, [NotNull] string postLogoutRedirectUri)
{ {
Id = id; Check.NotNull(postLogoutRedirectUri, nameof(postLogoutRedirectUri));
ClientId = clientId;
PostLogoutRedirectUri = postLogoutRedirectUri;
} }
} }
} }

@ -1,22 +1,26 @@
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
namespace Volo.Abp.IdentityServer.Clients namespace Volo.Abp.IdentityServer.Clients
{ {
public class ClientRedirectUri : Entity<Guid> public class ClientRedirectUri : Entity
{ {
public virtual string RedirectUri { get; set; } public virtual Guid ClientId { get; protected set; }
public virtual Guid ClientId { get; set; } public virtual string RedirectUri { get; protected set; }
protected ClientRedirectUri() protected ClientRedirectUri()
{ {
} }
public ClientRedirectUri(Guid id) protected internal ClientRedirectUri(Guid clientId, [NotNull] string redirectUri)
{ {
Id = id; Check.NotNull(redirectUri, nameof(redirectUri));
ClientId = clientId;
RedirectUri = redirectUri;
} }
} }
} }

@ -98,6 +98,8 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
{ {
redirectUri.ToTable(TablePrefix + "ClientRedirectUris"); redirectUri.ToTable(TablePrefix + "ClientRedirectUris");
redirectUri.HasKey(x => new {x.ClientId, x.RedirectUri});
redirectUri.Property(x => x.RedirectUri).HasMaxLength(ClientRedirectUriConsts.RedirectUriMaxLength).IsRequired(); redirectUri.Property(x => x.RedirectUri).HasMaxLength(ClientRedirectUriConsts.RedirectUriMaxLength).IsRequired();
}); });
@ -105,6 +107,8 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
{ {
postLogoutRedirectUri.ToTable(TablePrefix + "ClientPostLogoutRedirectUris"); postLogoutRedirectUri.ToTable(TablePrefix + "ClientPostLogoutRedirectUris");
postLogoutRedirectUri.HasKey(x => new {x.ClientId, x.PostLogoutRedirectUri});
postLogoutRedirectUri.Property(x => x.PostLogoutRedirectUri).HasMaxLength(ClientPostLogoutRedirectUriConsts.PostLogoutRedirectUriMaxLength).IsRequired(); postLogoutRedirectUri.Property(x => x.PostLogoutRedirectUri).HasMaxLength(ClientPostLogoutRedirectUriConsts.PostLogoutRedirectUriMaxLength).IsRequired();
}); });
@ -147,6 +151,8 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
{ {
corsOrigin.ToTable(TablePrefix + "ClientCorsOrigins"); corsOrigin.ToTable(TablePrefix + "ClientCorsOrigins");
corsOrigin.HasKey(x => new {x.ClientId, x.Origin});
corsOrigin.Property(x => x.Origin).HasMaxLength(ClientCorsOriginConsts.OriginMaxLength).IsRequired(); corsOrigin.Property(x => x.Origin).HasMaxLength(ClientCorsOriginConsts.OriginMaxLength).IsRequired();
}); });

@ -49,14 +49,8 @@ namespace Volo.Abp.IdentityServer
{ {
ProtocolType = "TestProtocol-42" ProtocolType = "TestProtocol-42"
}; };
client42.AllowedCorsOrigins.Add( client42.AddCorsOrigin("Origin1");
new ClientCorsOrigin(_guidGenerator.Create())
{
Origin = "Origin1",
ClientId = client42.Id
}
);
client42.AddScope("api1"); client42.AddScope("api1");

Loading…
Cancel
Save