From 6a9657a10dc5ef3c4dfddf222284eec6c933ac83 Mon Sep 17 00:00:00 2001 From: Tim Date: Sat, 19 Apr 2025 19:33:04 +0200 Subject: Add OIDC user-information endpoint --- .../20250419123149_AddUsernameFields.Designer.cs | 131 +++++++++++++++++++++ .../Migrations/20250419123149_AddUsernameFields.cs | 40 +++++++ VPNAuth.Server/Migrations/DatabaseModelSnapshot.cs | 8 ++ 3 files changed, 179 insertions(+) create mode 100644 VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.Designer.cs create mode 100644 VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.cs (limited to 'VPNAuth.Server/Migrations') diff --git a/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.Designer.cs b/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.Designer.cs new file mode 100644 index 0000000..8409c25 --- /dev/null +++ b/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.Designer.cs @@ -0,0 +1,131 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using VPNAuth.Server.Database; + +#nullable disable + +namespace VPNAuth.Server.Migrations +{ + [DbContext(typeof(Database.Database))] + [Migration("20250419123149_AddUsernameFields")] + partial class AddUsernameFields + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "9.0.4"); + + modelBuilder.Entity("VPNAuth.Server.Database.AccessToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("CreationTime") + .HasColumnType("TEXT"); + + b.PrimitiveCollection("Scopes") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Token") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Username") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("AccessTokens"); + }); + + modelBuilder.Entity("VPNAuth.Server.Database.AuthRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Accepted") + .HasColumnType("INTEGER"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Code") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("CodeChallenge") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("CodeChallengeMethod") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("InitTime") + .HasColumnType("TEXT"); + + b.PrimitiveCollection("Scopes") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("State") + .HasColumnType("TEXT"); + + b.Property("Username") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("AuthRequests"); + }); + + modelBuilder.Entity("VPNAuth.Server.Database.UserInformation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Email") + .HasColumnType("TEXT"); + + b.Property("FamilyName") + .HasColumnType("TEXT"); + + b.Property("GivenName") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Picture") + .HasColumnType("TEXT"); + + b.Property("PreferredUsername") + .HasColumnType("TEXT"); + + b.Property("Sub") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("UserInformation"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.cs b/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.cs new file mode 100644 index 0000000..3d649bb --- /dev/null +++ b/VPNAuth.Server/Migrations/20250419123149_AddUsernameFields.cs @@ -0,0 +1,40 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace VPNAuth.Server.Migrations +{ + /// + public partial class AddUsernameFields : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Username", + table: "AuthRequests", + type: "TEXT", + nullable: false, + defaultValue: ""); + + migrationBuilder.AddColumn( + name: "Username", + table: "AccessTokens", + type: "TEXT", + nullable: false, + defaultValue: ""); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Username", + table: "AuthRequests"); + + migrationBuilder.DropColumn( + name: "Username", + table: "AccessTokens"); + } + } +} diff --git a/VPNAuth.Server/Migrations/DatabaseModelSnapshot.cs b/VPNAuth.Server/Migrations/DatabaseModelSnapshot.cs index e4643df..4dcce6b 100644 --- a/VPNAuth.Server/Migrations/DatabaseModelSnapshot.cs +++ b/VPNAuth.Server/Migrations/DatabaseModelSnapshot.cs @@ -38,6 +38,10 @@ namespace VPNAuth.Server.Migrations .IsRequired() .HasColumnType("TEXT"); + b.Property("Username") + .IsRequired() + .HasColumnType("TEXT"); + b.HasKey("Id"); b.ToTable("AccessTokens"); @@ -78,6 +82,10 @@ namespace VPNAuth.Server.Migrations b.Property("State") .HasColumnType("TEXT"); + b.Property("Username") + .IsRequired() + .HasColumnType("TEXT"); + b.HasKey("Id"); b.ToTable("AuthRequests"); -- cgit v1.2.3