Browse Source

Extended identity api so that the AspNetUsers table also contains a column called TenantId, so that this can be used to check what tenant a user belongs to.

pull/1240/head
espent1004 5 years ago
parent
commit
0365b52e66
6 changed files with 50 additions and 5 deletions
  1. +37
    -2
      src/Services/Identity/Identity.API/Data/ApplicationDbContextSeed.cs
  2. +3
    -0
      src/Services/Identity/Identity.API/Migrations/20170912114036_Initial.Designer.cs
  3. +2
    -1
      src/Services/Identity/Identity.API/Migrations/20170912114036_Initial.cs
  4. +3
    -0
      src/Services/Identity/Identity.API/Migrations/ApplicationDbContextModelSnapshot.cs
  5. +2
    -0
      src/Services/Identity/Identity.API/Models/ApplicationUser.cs
  6. +3
    -2
      src/Services/Identity/Identity.API/Setup/Users.csv

+ 37
- 2
src/Services/Identity/Identity.API/Data/ApplicationDbContextSeed.cs View File

@ -74,7 +74,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Data
"cardholdername", "cardnumber", "cardtype", "city", "country", "cardholdername", "cardnumber", "cardtype", "city", "country",
"email", "expiration", "lastname", "name", "phonenumber", "email", "expiration", "lastname", "name", "phonenumber",
"username", "zipcode", "state", "street", "securitynumber", "username", "zipcode", "state", "street", "securitynumber",
"normalizedemail", "normalizedusername", "password"
"normalizedemail", "normalizedusername", "password", "tenantid"
}; };
csvheaders = GetHeaders(requiredHeaders, csvFileUsers); csvheaders = GetHeaders(requiredHeaders, csvFileUsers);
} }
@ -104,10 +104,16 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Data
} }
string cardtypeString = column[Array.IndexOf(headers, "cardtype")].Trim('"').Trim(); string cardtypeString = column[Array.IndexOf(headers, "cardtype")].Trim('"').Trim();
string tenantIdString = column[Array.IndexOf(headers, "tenantid")].Trim('"').Trim();
if (!int.TryParse(cardtypeString, out int cardtype)) if (!int.TryParse(cardtypeString, out int cardtype))
{ {
throw new Exception($"cardtype='{cardtypeString}' is not a number"); throw new Exception($"cardtype='{cardtypeString}' is not a number");
} }
if (!int.TryParse(tenantIdString, out int tenantId))
{
throw new Exception($"tenantid='{tenantIdString}' is not a number");
}
var user = new ApplicationUser var user = new ApplicationUser
{ {
@ -131,6 +137,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Data
NormalizedUserName = column[Array.IndexOf(headers, "normalizedusername")].Trim('"').Trim(), NormalizedUserName = column[Array.IndexOf(headers, "normalizedusername")].Trim('"').Trim(),
SecurityStamp = Guid.NewGuid().ToString("D"), SecurityStamp = Guid.NewGuid().ToString("D"),
PasswordHash = column[Array.IndexOf(headers, "password")].Trim('"').Trim(), // Note: This is the password PasswordHash = column[Array.IndexOf(headers, "password")].Trim('"').Trim(), // Note: This is the password
TenantId = tenantId
}; };
user.PasswordHash = _passwordHasher.HashPassword(user, user.PasswordHash); user.PasswordHash = _passwordHasher.HashPassword(user, user.PasswordHash);
@ -162,13 +169,41 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Data
NormalizedEmail = "DEMOUSER@MICROSOFT.COM", NormalizedEmail = "DEMOUSER@MICROSOFT.COM",
NormalizedUserName = "DEMOUSER@MICROSOFT.COM", NormalizedUserName = "DEMOUSER@MICROSOFT.COM",
SecurityStamp = Guid.NewGuid().ToString("D"), SecurityStamp = Guid.NewGuid().ToString("D"),
TenantId = 2
}; };
var user2 =
new ApplicationUser()
{
CardHolderName = "Espen",
CardNumber = "4012888888881882",
CardType = 1,
City = "Oslo",
Country = "Norway",
Email = "espent1004@gmail.com",
Expiration = "12/22",
Id = Guid.NewGuid().ToString(),
LastName = "Nordli",
Name = "Espen",
PhoneNumber = "95791135",
UserName = "espent1004@gmail.com",
ZipCode = "0681",
State = "Oslo",
Street = "Treskeveien 28A",
SecurityNumber = "535",
NormalizedEmail = "ESPENT1004@GMAIL.COM",
NormalizedUserName = "ESPENT1004@GMAIL.COM",
SecurityStamp = Guid.NewGuid().ToString("D"),
TenantId = 1
};
user.PasswordHash = _passwordHasher.HashPassword(user, "Pass@word1"); user.PasswordHash = _passwordHasher.HashPassword(user, "Pass@word1");
user2.PasswordHash = _passwordHasher.HashPassword(user2, "passord");
return new List<ApplicationUser>() return new List<ApplicationUser>()
{ {
user
user,
user2
}; };
} }


+ 3
- 0
src/Services/Identity/Identity.API/Migrations/20170912114036_Initial.Designer.cs View File

@ -29,6 +29,9 @@ namespace Identity.API.Migrations
b.Property<string>("CardHolderName") b.Property<string>("CardHolderName")
.IsRequired(); .IsRequired();
b.Property<int>("TenantId")
.IsRequired();
b.Property<string>("CardNumber") b.Property<string>("CardNumber")
.IsRequired(); .IsRequired();


+ 2
- 1
src/Services/Identity/Identity.API/Migrations/20170912114036_Initial.cs View File

@ -53,7 +53,8 @@ namespace Identity.API.Migrations
Street = table.Column<string>(type: "nvarchar(max)", nullable: false), Street = table.Column<string>(type: "nvarchar(max)", nullable: false),
TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false), TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false),
UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true), UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ZipCode = table.Column<string>(type: "nvarchar(max)", nullable: false)
ZipCode = table.Column<string>(type: "nvarchar(max)", nullable: false),
TenantId = table.Column<int>(type: "int", nullable: false),
}, },
constraints: table => constraints: table =>
{ {


+ 3
- 0
src/Services/Identity/Identity.API/Migrations/ApplicationDbContextModelSnapshot.cs View File

@ -24,6 +24,9 @@ namespace Identity.API.Migrations
b.Property<int>("AccessFailedCount"); b.Property<int>("AccessFailedCount");
b.Property<int>("TenantId")
.IsRequired();
b.Property<string>("CardHolderName") b.Property<string>("CardHolderName")
.IsRequired(); .IsRequired();


+ 2
- 0
src/Services/Identity/Identity.API/Models/ApplicationUser.cs View File

@ -30,5 +30,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Models
public string Name { get; set; } public string Name { get; set; }
[Required] [Required]
public string LastName { get; set; } public string LastName { get; set; }
[Required]
public int TenantId { get; set; }
} }
} }

+ 3
- 2
src/Services/Identity/Identity.API/Setup/Users.csv View File

@ -1,2 +1,3 @@
CardHolderName,CardNumber,CardType,City,Country,Email,Expiration,LastName,Name,PhoneNumber,UserName,ZipCode,State,Street,SecurityNumber,NormalizedEmail,NormalizedUserName,Password
DemoUser,4012888888881881,1,Redmond,U.S.,demouser@microsoft.com,12/20,DemoLastName,DemoUser,1234567890,demouser@microsoft.com,98052,WA,15703 NE 61st Ct,535,DEMOUSER@MICROSOFT.COM,DEMOUSER@MICROSOFT.COM,Pass@word1
CardHolderName,CardNumber,CardType,City,Country,Email,Expiration,LastName,Name,PhoneNumber,UserName,ZipCode,State,Street,SecurityNumber,NormalizedEmail,NormalizedUserName,Password,TenantId
DemoUser,4012888888881881,1,Redmond,U.S.,demouser@microsoft.com,12/20,DemoLastName,DemoUser,1234567890,demouser@microsoft.com,98052,WA,15703 NE 61st Ct,535,DEMOUSER@MICROSOFT.COM,DEMOUSER@MICROSOFT.COM,Pass@word1,1
Espen Nordli,4012888888881882,1,Oslo,Norway,espent1004@gmail.com,12/20,Nordli,Espen,95791135,espent1004@gmail.com,0681,Oslo,Treskeveien 28A,535,ESPENT1004@GMAIL.COM,ESPENT1004@GMAIL.COM,Pass@word1,2

Loading…
Cancel
Save