Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
I
Implementation-IdentityServer4
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Alan Farhadi
Implementation-IdentityServer4
Commits
b086707d
Commit
b086707d
authored
May 31, 2020
by
alan.f
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add-efcore-setup
parent
f61b6448
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
592 additions
and
9 deletions
+592
-9
20200531120857_init.Designer.cs
.../Migrations/AppMigrations/20200531120857_init.Designer.cs
+0
-0
20200531120857_init.cs
...rver/Data/Migrations/AppMigrations/20200531120857_init.cs
+219
-0
AppDbContextModelSnapshot.cs
...ata/Migrations/AppMigrations/AppDbContextModelSnapshot.cs
+0
-0
20200531115008_InitialIdentityServerConfigurationDbMigration.Designer.cs
...InitialIdentityServerConfigurationDbMigration.Designer.cs
+0
-0
20200531115008_InitialIdentityServerConfigurationDbMigration.cs
...31115008_InitialIdentityServerConfigurationDbMigration.cs
+0
-0
ConfigurationDbContextModelSnapshot.cs
...er/ConfigurationDb/ConfigurationDbContextModelSnapshot.cs
+0
-0
20200531114247_InitialIdentityServerPersistedGrantDbMigration.Designer.cs
...nitialIdentityServerPersistedGrantDbMigration.Designer.cs
+108
-0
20200531114247_InitialIdentityServerPersistedGrantDbMigration.cs
...1114247_InitialIdentityServerPersistedGrantDbMigration.cs
+75
-0
PersistedGrantDbContextModelSnapshot.cs
.../PersistedGrantDb/PersistedGrantDbContextModelSnapshot.cs
+106
-0
IdentityServer.csproj
IdentityServer/IdentityServer.csproj
+8
-1
Program.cs
IdentityServer/Program.cs
+34
-0
Startup.cs
IdentityServer/Startup.cs
+27
-5
Login.cshtml
IdentityServer/Views/Auth/Login.cshtml
+3
-3
appsettings.json
IdentityServer/appsettings.json
+3
-0
db-scripts.txt
IdentityServer/db-scripts.txt
+9
-0
No files found.
IdentityServer/Data/Migrations/AppMigrations/20200531120857_init.Designer.cs
0 → 100644
View file @
b086707d
This diff is collapsed.
Click to expand it.
IdentityServer/Data/Migrations/AppMigrations/20200531120857_init.cs
0 → 100644
View file @
b086707d
using
System
;
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
IdentityServer.Data.Migrations.AppMigrations
{
public
partial
class
init
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
CreateTable
(
name
:
"AspNetRoles"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
string
>(
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
NormalizedName
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
ConcurrencyStamp
=
table
.
Column
<
string
>(
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetRoles"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUsers"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
string
>(
nullable
:
false
),
UserName
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
NormalizedUserName
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
Email
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
NormalizedEmail
=
table
.
Column
<
string
>(
maxLength
:
256
,
nullable
:
true
),
EmailConfirmed
=
table
.
Column
<
bool
>(
nullable
:
false
),
PasswordHash
=
table
.
Column
<
string
>(
nullable
:
true
),
SecurityStamp
=
table
.
Column
<
string
>(
nullable
:
true
),
ConcurrencyStamp
=
table
.
Column
<
string
>(
nullable
:
true
),
PhoneNumber
=
table
.
Column
<
string
>(
nullable
:
true
),
PhoneNumberConfirmed
=
table
.
Column
<
bool
>(
nullable
:
false
),
TwoFactorEnabled
=
table
.
Column
<
bool
>(
nullable
:
false
),
LockoutEnd
=
table
.
Column
<
DateTimeOffset
>(
nullable
:
true
),
LockoutEnabled
=
table
.
Column
<
bool
>(
nullable
:
false
),
AccessFailedCount
=
table
.
Column
<
int
>(
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUsers"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetRoleClaims"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
RoleId
=
table
.
Column
<
string
>(
nullable
:
false
),
ClaimType
=
table
.
Column
<
string
>(
nullable
:
true
),
ClaimValue
=
table
.
Column
<
string
>(
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetRoleClaims"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_AspNetRoleClaims_AspNetRoles_RoleId"
,
column
:
x
=>
x
.
RoleId
,
principalTable
:
"AspNetRoles"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserClaims"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
UserId
=
table
.
Column
<
string
>(
nullable
:
false
),
ClaimType
=
table
.
Column
<
string
>(
nullable
:
true
),
ClaimValue
=
table
.
Column
<
string
>(
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserClaims"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_AspNetUserClaims_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserLogins"
,
columns
:
table
=>
new
{
LoginProvider
=
table
.
Column
<
string
>(
nullable
:
false
),
ProviderKey
=
table
.
Column
<
string
>(
nullable
:
false
),
ProviderDisplayName
=
table
.
Column
<
string
>(
nullable
:
true
),
UserId
=
table
.
Column
<
string
>(
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserLogins"
,
x
=>
new
{
x
.
LoginProvider
,
x
.
ProviderKey
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserLogins_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserRoles"
,
columns
:
table
=>
new
{
UserId
=
table
.
Column
<
string
>(
nullable
:
false
),
RoleId
=
table
.
Column
<
string
>(
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserRoles"
,
x
=>
new
{
x
.
UserId
,
x
.
RoleId
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserRoles_AspNetRoles_RoleId"
,
column
:
x
=>
x
.
RoleId
,
principalTable
:
"AspNetRoles"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
table
.
ForeignKey
(
name
:
"FK_AspNetUserRoles_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserTokens"
,
columns
:
table
=>
new
{
UserId
=
table
.
Column
<
string
>(
nullable
:
false
),
LoginProvider
=
table
.
Column
<
string
>(
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
nullable
:
false
),
Value
=
table
.
Column
<
string
>(
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserTokens"
,
x
=>
new
{
x
.
UserId
,
x
.
LoginProvider
,
x
.
Name
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserTokens_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetRoleClaims_RoleId"
,
table
:
"AspNetRoleClaims"
,
column
:
"RoleId"
);
migrationBuilder
.
CreateIndex
(
name
:
"RoleNameIndex"
,
table
:
"AspNetRoles"
,
column
:
"NormalizedName"
,
unique
:
true
,
filter
:
"[NormalizedName] IS NOT NULL"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserClaims_UserId"
,
table
:
"AspNetUserClaims"
,
column
:
"UserId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserLogins_UserId"
,
table
:
"AspNetUserLogins"
,
column
:
"UserId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserRoles_RoleId"
,
table
:
"AspNetUserRoles"
,
column
:
"RoleId"
);
migrationBuilder
.
CreateIndex
(
name
:
"EmailIndex"
,
table
:
"AspNetUsers"
,
column
:
"NormalizedEmail"
);
migrationBuilder
.
CreateIndex
(
name
:
"UserNameIndex"
,
table
:
"AspNetUsers"
,
column
:
"NormalizedUserName"
,
unique
:
true
,
filter
:
"[NormalizedUserName] IS NOT NULL"
);
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropTable
(
name
:
"AspNetRoleClaims"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserClaims"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserLogins"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserRoles"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserTokens"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetRoles"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUsers"
);
}
}
}
IdentityServer/Data/Migrations/AppMigrations/AppDbContextModelSnapshot.cs
0 → 100644
View file @
b086707d
This diff is collapsed.
Click to expand it.
IdentityServer/Data/Migrations/IdentityServer/ConfigurationDb/20200531115008_InitialIdentityServerConfigurationDbMigration.Designer.cs
0 → 100644
View file @
b086707d
This diff is collapsed.
Click to expand it.
IdentityServer/Data/Migrations/IdentityServer/ConfigurationDb/20200531115008_InitialIdentityServerConfigurationDbMigration.cs
0 → 100644
View file @
b086707d
This diff is collapsed.
Click to expand it.
IdentityServer/Data/Migrations/IdentityServer/ConfigurationDb/ConfigurationDbContextModelSnapshot.cs
0 → 100644
View file @
b086707d
This diff is collapsed.
Click to expand it.
IdentityServer/Data/Migrations/IdentityServer/PersistedGrantDb/20200531114247_InitialIdentityServerPersistedGrantDbMigration.Designer.cs
0 → 100644
View file @
b086707d
// <auto-generated />
using
System
;
using
IdentityServer4.EntityFramework.DbContexts
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Migrations
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
namespace
IdentityServer.Data.Migrations.IdentityServer.PersistedGrantDb
{
[
DbContext
(
typeof
(
PersistedGrantDbContext
))]
[
Migration
(
"20200531114247_InitialIdentityServerPersistedGrantDbMigration"
)]
partial
class
InitialIdentityServerPersistedGrantDbMigration
{
protected
override
void
BuildTargetModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"ProductVersion"
,
"3.1.4"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
modelBuilder
.
Entity
(
"IdentityServer4.EntityFramework.Entities.DeviceFlowCodes"
,
b
=>
{
b
.
Property
<
string
>(
"UserCode"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
string
>(
"DeviceCode"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
IsRequired
()
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"UserCode"
);
b
.
HasIndex
(
"DeviceCode"
)
.
IsUnique
();
b
.
HasIndex
(
"Expiration"
);
b
.
ToTable
(
"DeviceCodes"
);
});
modelBuilder
.
Entity
(
"IdentityServer4.EntityFramework.Entities.PersistedGrant"
,
b
=>
{
b
.
Property
<
string
>(
"Key"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Type"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(50)"
)
.
HasMaxLength
(
50
);
b
.
HasKey
(
"Key"
);
b
.
HasIndex
(
"Expiration"
);
b
.
HasIndex
(
"SubjectId"
,
"ClientId"
,
"Type"
);
b
.
ToTable
(
"PersistedGrants"
);
});
#pragma warning restore 612, 618
}
}
}
IdentityServer/Data/Migrations/IdentityServer/PersistedGrantDb/20200531114247_InitialIdentityServerPersistedGrantDbMigration.cs
0 → 100644
View file @
b086707d
using
System
;
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
IdentityServer.Data.Migrations.IdentityServer.PersistedGrantDb
{
public
partial
class
InitialIdentityServerPersistedGrantDbMigration
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
CreateTable
(
name
:
"DeviceCodes"
,
columns
:
table
=>
new
{
UserCode
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
false
),
DeviceCode
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
false
),
SubjectId
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
true
),
ClientId
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
false
),
CreationTime
=
table
.
Column
<
DateTime
>(
nullable
:
false
),
Expiration
=
table
.
Column
<
DateTime
>(
nullable
:
false
),
Data
=
table
.
Column
<
string
>(
maxLength
:
50000
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_DeviceCodes"
,
x
=>
x
.
UserCode
);
});
migrationBuilder
.
CreateTable
(
name
:
"PersistedGrants"
,
columns
:
table
=>
new
{
Key
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
false
),
Type
=
table
.
Column
<
string
>(
maxLength
:
50
,
nullable
:
false
),
SubjectId
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
true
),
ClientId
=
table
.
Column
<
string
>(
maxLength
:
200
,
nullable
:
false
),
CreationTime
=
table
.
Column
<
DateTime
>(
nullable
:
false
),
Expiration
=
table
.
Column
<
DateTime
>(
nullable
:
true
),
Data
=
table
.
Column
<
string
>(
maxLength
:
50000
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_PersistedGrants"
,
x
=>
x
.
Key
);
});
migrationBuilder
.
CreateIndex
(
name
:
"IX_DeviceCodes_DeviceCode"
,
table
:
"DeviceCodes"
,
column
:
"DeviceCode"
,
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_DeviceCodes_Expiration"
,
table
:
"DeviceCodes"
,
column
:
"Expiration"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PersistedGrants_Expiration"
,
table
:
"PersistedGrants"
,
column
:
"Expiration"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PersistedGrants_SubjectId_ClientId_Type"
,
table
:
"PersistedGrants"
,
columns
:
new
[]
{
"SubjectId"
,
"ClientId"
,
"Type"
});
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropTable
(
name
:
"DeviceCodes"
);
migrationBuilder
.
DropTable
(
name
:
"PersistedGrants"
);
}
}
}
IdentityServer/Data/Migrations/IdentityServer/PersistedGrantDb/PersistedGrantDbContextModelSnapshot.cs
0 → 100644
View file @
b086707d
// <auto-generated />
using
System
;
using
IdentityServer4.EntityFramework.DbContexts
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
namespace
IdentityServer.Data.Migrations.IdentityServer.PersistedGrantDb
{
[
DbContext
(
typeof
(
PersistedGrantDbContext
))]
partial
class
PersistedGrantDbContextModelSnapshot
:
ModelSnapshot
{
protected
override
void
BuildModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"ProductVersion"
,
"3.1.4"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
modelBuilder
.
Entity
(
"IdentityServer4.EntityFramework.Entities.DeviceFlowCodes"
,
b
=>
{
b
.
Property
<
string
>(
"UserCode"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
string
>(
"DeviceCode"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
IsRequired
()
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"UserCode"
);
b
.
HasIndex
(
"DeviceCode"
)
.
IsUnique
();
b
.
HasIndex
(
"Expiration"
);
b
.
ToTable
(
"DeviceCodes"
);
});
modelBuilder
.
Entity
(
"IdentityServer4.EntityFramework.Entities.PersistedGrant"
,
b
=>
{
b
.
Property
<
string
>(
"Key"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Type"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(50)"
)
.
HasMaxLength
(
50
);
b
.
HasKey
(
"Key"
);
b
.
HasIndex
(
"Expiration"
);
b
.
HasIndex
(
"SubjectId"
,
"ClientId"
,
"Type"
);
b
.
ToTable
(
"PersistedGrants"
);
});
#pragma warning restore 612, 618
}
}
}
IdentityServer/IdentityServer.csproj
View file @
b086707d
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>netcoreapp3.1</TargetFramework>
...
@@ -7,12 +7,19 @@
...
@@ -7,12 +7,19 @@
<ItemGroup>
<ItemGroup>
<PackageReference Include="IdentityServer4" Version="3.1.3" />
<PackageReference Include="IdentityServer4" Version="3.1.3" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="3.1.3" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="3.1.3" />
<PackageReference Include="IdentityServer4.EntityFramework" Version="3.1.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.4" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="3.1.4" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="3.1.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.3" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.3" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
</ItemGroup>
</Project>
</Project>
IdentityServer/Program.cs
View file @
b086707d
...
@@ -3,8 +3,11 @@ using System.Collections.Generic;
...
@@ -3,8 +3,11 @@ using System.Collections.Generic;
using
System.Linq
;
using
System.Linq
;
using
System.Security.Claims
;
using
System.Security.Claims
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
IdentityServer4.EntityFramework.DbContexts
;
using
IdentityServer4.EntityFramework.Mappers
;
using
Microsoft.AspNetCore.Hosting
;
using
Microsoft.AspNetCore.Hosting
;
using
Microsoft.AspNetCore.Identity
;
using
Microsoft.AspNetCore.Identity
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.Extensions.Configuration
;
using
Microsoft.Extensions.Configuration
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.Hosting
;
using
Microsoft.Extensions.Hosting
;
...
@@ -28,6 +31,37 @@ namespace IdentityServer
...
@@ -28,6 +31,37 @@ namespace IdentityServer
userManager
.
AddClaimAsync
(
user
,
userManager
.
AddClaimAsync
(
user
,
new
Claim
(
"rc.api.garndma"
,
"big.api.cookie"
))
new
Claim
(
"rc.api.garndma"
,
"big.api.cookie"
))
.
GetAwaiter
().
GetResult
();
.
GetAwaiter
().
GetResult
();
scope
.
ServiceProvider
.
GetRequiredService
<
PersistedGrantDbContext
>().
Database
.
Migrate
();
var
context
=
scope
.
ServiceProvider
.
GetRequiredService
<
ConfigurationDbContext
>();
context
.
Database
.
Migrate
();
if
(!
context
.
Clients
.
Any
())
{
foreach
(
var
client
in
Configuration
.
GetClients
())
{
context
.
Clients
.
Add
(
client
.
ToEntity
());
}
context
.
SaveChanges
();
}
if
(!
context
.
IdentityResources
.
Any
())
{
foreach
(
var
resource
in
Configuration
.
GetIdentityResources
())
{
context
.
IdentityResources
.
Add
(
resource
.
ToEntity
());
}
context
.
SaveChanges
();
}
if
(!
context
.
ApiResources
.
Any
())
{
foreach
(
var
resource
in
Configuration
.
GetApis
())
{
context
.
ApiResources
.
Add
(
resource
.
ToEntity
());
}
context
.
SaveChanges
();
}
}
}
host
.
Run
();
host
.
Run
();
}
}
...
...
IdentityServer/Startup.cs
View file @
b086707d
...
@@ -11,12 +11,22 @@ namespace IdentityServer
...
@@ -11,12 +11,22 @@ namespace IdentityServer
{
{
public
class
Startup
public
class
Startup
{
{
private
readonly
IConfiguration
_config
;
//private readonly IWebHostEnvironment _env;
public
Startup
(
IConfiguration
config
/*, IWebHostEnvironment env*/
)
{
_config
=
config
;
//_env = env;
}
public
void
ConfigureServices
(
IServiceCollection
services
)
public
void
ConfigureServices
(
IServiceCollection
services
)
{
{
var
connectionString
=
_config
.
GetConnectionString
(
"DefaultConnection"
);
services
.
AddDbContext
<
AppDbContext
>(
config
=>
services
.
AddDbContext
<
AppDbContext
>(
config
=>
{
{
config
.
UseInMemoryDatabase
(
"Memory"
);
config
.
UseSqlServer
(
connectionString
);
//config.UseInMemoryDatabase("Memory");
});
});
// AddIdentity registers the services
// AddIdentity registers the services
...
@@ -36,12 +46,24 @@ namespace IdentityServer
...
@@ -36,12 +46,24 @@ namespace IdentityServer
config
.
Cookie
.
Name
=
"IdentityServer.Cookie"
;
config
.
Cookie
.
Name
=
"IdentityServer.Cookie"
;
config
.
LoginPath
=
"/Auth/Login"
;
config
.
LoginPath
=
"/Auth/Login"
;
});
});
var
assembly
=
typeof
(
Startup
).
Assembly
.
GetName
().
Name
;
services
.
AddIdentityServer
()
services
.
AddIdentityServer
()
.
AddAspNetIdentity
<
IdentityUser
>()
.
AddAspNetIdentity
<
IdentityUser
>()
.
AddInMemoryApiResources
(
Configuration
.
GetApis
())
.
AddConfigurationStore
(
options
=>
.
AddInMemoryIdentityResources
(
Configuration
.
GetIdentityResources
())
{
.
AddInMemoryClients
(
Configuration
.
GetClients
())
options
.
ConfigureDbContext
=
b
=>
b
.
UseSqlServer
(
connectionString
,
.
AddDeveloperSigningCredential
();
sql
=>
sql
.
MigrationsAssembly
(
assembly
));
})
.
AddOperationalStore
(
options
=>
{
options
.
ConfigureDbContext
=
b
=>
b
.
UseSqlServer
(
connectionString
,
sql
=>
sql
.
MigrationsAssembly
(
assembly
));
});
//.AddInMemoryApiResources(Configuration.GetApis())
//.AddInMemoryIdentityResources(Configuration.GetIdentityResources())
//.AddInMemoryClients(Configuration.GetClients())
//.AddDeveloperSigningCredential();
//services.AddAuthentication()
//services.AddAuthentication()
// .AddFacebook(config => {
// .AddFacebook(config => {
...
...
IdentityServer/Views/Auth/Login.cshtml
View file @
b086707d
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<button type="submit">Sign In</button>
<button type="submit">Sign In</button>
</div>
</div>
</form>
</form>
<div>
@*
<div>
<a asp-controller="Auth" asp-action="Register"
<a asp-controller="Auth" asp-action="Register"
asp-route-returnUrl="@Model.ReturnUrl">Register</a>
asp-route-returnUrl="@Model.ReturnUrl">Register</a>
</div>
</div>*@
\ No newline at end of file
\ No newline at end of file
IdentityServer/appsettings.json
View file @
b086707d
{
{
"ConnectionStrings"
:
{
"DefaultConnection"
:
"Data Source=(localdb)
\\
MSSQLLocalDB;Initial Catalog=IdentityServer4Tutorial;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
},
"Logging"
:
{
"Logging"
:
{
"LogLevel"
:
{
"LogLevel"
:
{
"Default"
:
"Information"
,
"Default"
:
"Information"
,
...
...
IdentityServer/db-scripts.txt
0 → 100644
View file @
b086707d
dotnet ef migrations add InitialIdentityServerPersistedGrantDbMigration -c PersistedGrantDbContext -o Data/Migrations/IdentityServer/PersistedGrantDb
dotnet ef migrations add InitialIdentityServerConfigurationDbMigration -c ConfigurationDbContext -o Data/Migrations/IdentityServer/ConfigurationDb
dotnet ef migrations add <name> -c AppDbContext -o Data/Migrations/AppMigrations
dotnet ef database update -c AppDbContext
dotnet ef database update -c PersistedGrantDbContext
dotnet ef database update -c ConfigurationDbContext
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment