Implementierung von JWTService und IJWTService für JWT-Operationen

Hinzugefügt wurden die JWTService-Klasse und das IJWTService-Interface zur Unterstützung der Generierung und Validierung von JWTs basierend auf Anspruchstypen. Enthält Methoden zum Erstellen von Sicherheitsschlüsseln, Generieren von Tokens und Lesen von Tokens mit ausführlicher Dokumentation.
This commit is contained in:
Developer 02
2024-04-15 13:52:59 +02:00
parent 79cf385a67
commit 49e3d29fd4
42 changed files with 1300 additions and 12 deletions

View File

@@ -74,6 +74,14 @@
"System.DirectoryServices.AccountManagement": {
"target": "Package",
"version": "[7.0.1, )"
},
"System.IdentityModel.Tokens.Jwt": {
"target": "Package",
"version": "[7.5.1, )"
},
"System.Security.Cryptography.Cng": {
"target": "Package",
"version": "[5.0.0, )"
}
},
"imports": [
@@ -158,6 +166,10 @@
"System.DirectoryServices.AccountManagement": {
"target": "Package",
"version": "[7.0.1, )"
},
"System.IdentityModel.Tokens.Jwt": {
"target": "Package",
"version": "[7.5.1, )"
}
},
"imports": [

View File

@@ -227,6 +227,67 @@
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.IdentityModel.Abstractions/7.5.1": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
"related": ".xml"
}
}
},
"Microsoft.IdentityModel.JsonWebTokens/7.5.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Tokens": "7.5.1"
},
"compile": {
"lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
"related": ".xml"
}
}
},
"Microsoft.IdentityModel.Logging/7.5.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "7.5.1"
},
"compile": {
"lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
"related": ".xml"
}
}
},
"Microsoft.IdentityModel.Tokens/7.5.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.Logging": "7.5.1"
},
"compile": {
"lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
"related": ".xml"
}
}
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"type": "package",
"compile": {
@@ -403,6 +464,58 @@
}
}
},
"System.Formats.Asn1/5.0.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/_._": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/System.Formats.Asn1.dll": {
"related": ".xml"
}
}
},
"System.IdentityModel.Tokens.Jwt/7.5.1": {
"type": "package",
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "7.5.1",
"Microsoft.IdentityModel.Tokens": "7.5.1"
},
"compile": {
"lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
"related": ".xml"
}
}
},
"System.Security.Cryptography.Cng/5.0.0": {
"type": "package",
"dependencies": {
"System.Formats.Asn1": "5.0.0"
},
"compile": {
"ref/netcoreapp3.0/System.Security.Cryptography.Cng.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netcoreapp3.0/System.Security.Cryptography.Cng.dll": {
"related": ".xml"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp3.0/System.Security.Cryptography.Cng.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Security.Cryptography.ProtectedData/7.0.0": {
"type": "package",
"compile": {
@@ -473,7 +586,8 @@
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.Configuration.Binder": "7.0.4",
"System.DirectoryServices": "7.0.1",
"System.DirectoryServices.AccountManagement": "7.0.1"
"System.DirectoryServices.AccountManagement": "7.0.1",
"System.IdentityModel.Tokens.Jwt": "7.5.1"
},
"compile": {
"bin/placeholder/DigitalData.Core.Contracts.dll": {}
@@ -848,6 +962,98 @@
"useSharedDesignerContext.txt"
]
},
"Microsoft.IdentityModel.Abstractions/7.5.1": {
"sha512": "PT16ZFbPIiMsYv07oy3zOjqUOJ7xutGBkJTOX0+IbNyU6+O6X7aIxjq9EaSSRLWbekRgamgtmfg8Xjw6A6Ua9g==",
"type": "package",
"path": "microsoft.identitymodel.abstractions/7.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net461/Microsoft.IdentityModel.Abstractions.dll",
"lib/net461/Microsoft.IdentityModel.Abstractions.xml",
"lib/net462/Microsoft.IdentityModel.Abstractions.dll",
"lib/net462/Microsoft.IdentityModel.Abstractions.xml",
"lib/net472/Microsoft.IdentityModel.Abstractions.dll",
"lib/net472/Microsoft.IdentityModel.Abstractions.xml",
"lib/net6.0/Microsoft.IdentityModel.Abstractions.dll",
"lib/net6.0/Microsoft.IdentityModel.Abstractions.xml",
"lib/net8.0/Microsoft.IdentityModel.Abstractions.dll",
"lib/net8.0/Microsoft.IdentityModel.Abstractions.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml",
"microsoft.identitymodel.abstractions.7.5.1.nupkg.sha512",
"microsoft.identitymodel.abstractions.nuspec"
]
},
"Microsoft.IdentityModel.JsonWebTokens/7.5.1": {
"sha512": "93CGSa8RPdZU8zfvA3nf9NGKUqEnQrE12VzYlMqKh72ddhzusosqLNEUgH/YhFWBLRFOnY1RCgHMV7pR+sAx2w==",
"type": "package",
"path": "microsoft.identitymodel.jsonwebtokens/7.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net462/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net462/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net472/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml",
"microsoft.identitymodel.jsonwebtokens.7.5.1.nupkg.sha512",
"microsoft.identitymodel.jsonwebtokens.nuspec"
]
},
"Microsoft.IdentityModel.Logging/7.5.1": {
"sha512": "PnpAQX20BAiDIPYmWUyQSlEaWD8BLXzHpiDGTCT568Cs0ReOeyzNe401LzCeiv6ilug/KefVeV1CeqtCHTo8dw==",
"type": "package",
"path": "microsoft.identitymodel.logging/7.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net461/Microsoft.IdentityModel.Logging.dll",
"lib/net461/Microsoft.IdentityModel.Logging.xml",
"lib/net462/Microsoft.IdentityModel.Logging.dll",
"lib/net462/Microsoft.IdentityModel.Logging.xml",
"lib/net472/Microsoft.IdentityModel.Logging.dll",
"lib/net472/Microsoft.IdentityModel.Logging.xml",
"lib/net6.0/Microsoft.IdentityModel.Logging.dll",
"lib/net6.0/Microsoft.IdentityModel.Logging.xml",
"lib/net8.0/Microsoft.IdentityModel.Logging.dll",
"lib/net8.0/Microsoft.IdentityModel.Logging.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml",
"microsoft.identitymodel.logging.7.5.1.nupkg.sha512",
"microsoft.identitymodel.logging.nuspec"
]
},
"Microsoft.IdentityModel.Tokens/7.5.1": {
"sha512": "Q3DKpyFViP84IUlTFKH/zIkswIrmSh2Vd/eFDo4wlOHy4DYxoweZEEw4kDEiKt9VCX6o7SddK3HK2xDYyFpexA==",
"type": "package",
"path": "microsoft.identitymodel.tokens/7.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net461/Microsoft.IdentityModel.Tokens.dll",
"lib/net461/Microsoft.IdentityModel.Tokens.xml",
"lib/net462/Microsoft.IdentityModel.Tokens.dll",
"lib/net462/Microsoft.IdentityModel.Tokens.xml",
"lib/net472/Microsoft.IdentityModel.Tokens.dll",
"lib/net472/Microsoft.IdentityModel.Tokens.xml",
"lib/net6.0/Microsoft.IdentityModel.Tokens.dll",
"lib/net6.0/Microsoft.IdentityModel.Tokens.xml",
"lib/net8.0/Microsoft.IdentityModel.Tokens.dll",
"lib/net8.0/Microsoft.IdentityModel.Tokens.xml",
"lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll",
"lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml",
"microsoft.identitymodel.tokens.7.5.1.nupkg.sha512",
"microsoft.identitymodel.tokens.nuspec"
]
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"sha512": "2nXPrhdAyAzir0gLl8Yy8S5Mnm/uBSQQA7jEsILOS1MTyS7DbmV1NgViMtvV1sfCD1ebITpNwb1NIinKeJgUVQ==",
"type": "package",
@@ -1068,6 +1274,130 @@
"useSharedDesignerContext.txt"
]
},
"System.Formats.Asn1/5.0.0": {
"sha512": "MTvUIktmemNB+El0Fgw9egyqT9AYSIk6DTJeoDSpc3GIHxHCMo8COqkWT1mptX5tZ1SlQ6HJZ0OsSvMth1c12w==",
"type": "package",
"path": "system.formats.asn1/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/System.Formats.Asn1.dll",
"lib/net461/System.Formats.Asn1.xml",
"lib/netstandard2.0/System.Formats.Asn1.dll",
"lib/netstandard2.0/System.Formats.Asn1.xml",
"system.formats.asn1.5.0.0.nupkg.sha512",
"system.formats.asn1.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.IdentityModel.Tokens.Jwt/7.5.1": {
"sha512": "UUw+E0R73lZLlXgneYIJQxNs1kfbcxjVzw64JQyiwjqCd4HMpAbjn+xRo86QZT84uHq8/MkqvfH82tgjgPzpuw==",
"type": "package",
"path": "system.identitymodel.tokens.jwt/7.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net461/System.IdentityModel.Tokens.Jwt.dll",
"lib/net461/System.IdentityModel.Tokens.Jwt.xml",
"lib/net462/System.IdentityModel.Tokens.Jwt.dll",
"lib/net462/System.IdentityModel.Tokens.Jwt.xml",
"lib/net472/System.IdentityModel.Tokens.Jwt.dll",
"lib/net472/System.IdentityModel.Tokens.Jwt.xml",
"lib/net6.0/System.IdentityModel.Tokens.Jwt.dll",
"lib/net6.0/System.IdentityModel.Tokens.Jwt.xml",
"lib/net8.0/System.IdentityModel.Tokens.Jwt.dll",
"lib/net8.0/System.IdentityModel.Tokens.Jwt.xml",
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll",
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml",
"system.identitymodel.tokens.jwt.7.5.1.nupkg.sha512",
"system.identitymodel.tokens.jwt.nuspec"
]
},
"System.Security.Cryptography.Cng/5.0.0": {
"sha512": "jIMXsKn94T9JY7PvPq/tMfqa6GAaHpElRDpmG+SuL+D3+sTw2M8VhnibKnN8Tq+4JqbPJ/f+BwtLeDMEnzAvRg==",
"type": "package",
"path": "system.security.cryptography.cng/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net46/System.Security.Cryptography.Cng.dll",
"lib/net461/System.Security.Cryptography.Cng.dll",
"lib/net461/System.Security.Cryptography.Cng.xml",
"lib/net462/System.Security.Cryptography.Cng.dll",
"lib/net462/System.Security.Cryptography.Cng.xml",
"lib/net47/System.Security.Cryptography.Cng.dll",
"lib/net47/System.Security.Cryptography.Cng.xml",
"lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll",
"lib/netcoreapp3.0/System.Security.Cryptography.Cng.dll",
"lib/netcoreapp3.0/System.Security.Cryptography.Cng.xml",
"lib/netstandard1.3/System.Security.Cryptography.Cng.dll",
"lib/netstandard1.4/System.Security.Cryptography.Cng.dll",
"lib/netstandard1.6/System.Security.Cryptography.Cng.dll",
"lib/netstandard2.0/System.Security.Cryptography.Cng.dll",
"lib/netstandard2.0/System.Security.Cryptography.Cng.xml",
"lib/netstandard2.1/System.Security.Cryptography.Cng.dll",
"lib/netstandard2.1/System.Security.Cryptography.Cng.xml",
"lib/uap10.0.16299/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net46/System.Security.Cryptography.Cng.dll",
"ref/net461/System.Security.Cryptography.Cng.dll",
"ref/net461/System.Security.Cryptography.Cng.xml",
"ref/net462/System.Security.Cryptography.Cng.dll",
"ref/net462/System.Security.Cryptography.Cng.xml",
"ref/net47/System.Security.Cryptography.Cng.dll",
"ref/net47/System.Security.Cryptography.Cng.xml",
"ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll",
"ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml",
"ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll",
"ref/netcoreapp2.1/System.Security.Cryptography.Cng.xml",
"ref/netcoreapp3.0/System.Security.Cryptography.Cng.dll",
"ref/netcoreapp3.0/System.Security.Cryptography.Cng.xml",
"ref/netstandard1.3/System.Security.Cryptography.Cng.dll",
"ref/netstandard1.4/System.Security.Cryptography.Cng.dll",
"ref/netstandard1.6/System.Security.Cryptography.Cng.dll",
"ref/netstandard2.0/System.Security.Cryptography.Cng.dll",
"ref/netstandard2.0/System.Security.Cryptography.Cng.xml",
"ref/netstandard2.1/System.Security.Cryptography.Cng.dll",
"ref/netstandard2.1/System.Security.Cryptography.Cng.xml",
"ref/uap10.0.16299/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/net461/System.Security.Cryptography.Cng.xml",
"runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/net462/System.Security.Cryptography.Cng.xml",
"runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/net47/System.Security.Cryptography.Cng.xml",
"runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/netcoreapp3.0/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/netcoreapp3.0/System.Security.Cryptography.Cng.xml",
"runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll",
"runtimes/win/lib/uap10.0.16299/_._",
"system.security.cryptography.cng.5.0.0.nupkg.sha512",
"system.security.cryptography.cng.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.Cryptography.ProtectedData/7.0.0": {
"sha512": "xSPiLNlHT6wAHtugASbKAJwV5GVqQK351crnILAucUioFqqieDN79evO1rku1ckt/GfjIn+b17UaSskoY03JuA==",
"type": "package",
@@ -1168,7 +1498,9 @@
"Microsoft.Extensions.Caching.Abstractions >= 7.0.0",
"Microsoft.Extensions.Configuration >= 7.0.0",
"Microsoft.Extensions.Logging >= 7.0.0",
"System.DirectoryServices.AccountManagement >= 7.0.1"
"System.DirectoryServices.AccountManagement >= 7.0.1",
"System.IdentityModel.Tokens.Jwt >= 7.5.1",
"System.Security.Cryptography.Cng >= 5.0.0"
]
},
"packageFolders": {
@@ -1247,6 +1579,14 @@
"System.DirectoryServices.AccountManagement": {
"target": "Package",
"version": "[7.0.1, )"
},
"System.IdentityModel.Tokens.Jwt": {
"target": "Package",
"version": "[7.5.1, )"
},
"System.Security.Cryptography.Cng": {
"target": "Package",
"version": "[5.0.0, )"
}
},
"imports": [

View File

@@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "n93+MKQABba3OlvV9vsNTsnfi5nHWhj3CavVgX3I9I1+zCwApoWk5yls2KENGsGobTCWb/ng+KmBQYYwtkP9AA==",
"dgSpecHash": "Ng655q2G++xx7UIt9gr/OWTyrrPAc0GMA1Zk3E9z5lalMZ+0ws2D/LN+jWmxYyLvAX9/sl6jPsWi+zpfE5P1Zg==",
"success": true,
"projectFilePath": "E:\\TekH\\Visual Studio\\WebCoreModules\\DigitalData.Core.Application\\DigitalData.Core.Application.csproj",
"expectedPackageFiles": [
@@ -16,6 +16,10 @@
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.primitives\\7.0.0\\microsoft.extensions.primitives.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.identitymodel.abstractions\\7.5.1\\microsoft.identitymodel.abstractions.7.5.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\7.5.1\\microsoft.identitymodel.jsonwebtokens.7.5.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.identitymodel.logging\\7.5.1\\microsoft.identitymodel.logging.7.5.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.identitymodel.tokens\\7.5.1\\microsoft.identitymodel.tokens.7.5.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.win32.systemevents\\7.0.0\\microsoft.win32.systemevents.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.configuration.configurationmanager\\7.0.0\\system.configuration.configurationmanager.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.diagnostics.eventlog\\7.0.0\\system.diagnostics.eventlog.7.0.0.nupkg.sha512",
@@ -23,6 +27,9 @@
"C:\\Users\\tekh\\.nuget\\packages\\system.directoryservices.accountmanagement\\7.0.1\\system.directoryservices.accountmanagement.7.0.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.directoryservices.protocols\\7.0.1\\system.directoryservices.protocols.7.0.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.drawing.common\\7.0.0\\system.drawing.common.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.formats.asn1\\5.0.0\\system.formats.asn1.5.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.identitymodel.tokens.jwt\\7.5.1\\system.identitymodel.tokens.jwt.7.5.1.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.security.cryptography.cng\\5.0.0\\system.security.cryptography.cng.5.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.security.cryptography.protecteddata\\7.0.0\\system.security.cryptography.protecteddata.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.security.permissions\\7.0.0\\system.security.permissions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\system.windows.extensions\\7.0.0\\system.windows.extensions.7.0.0.nupkg.sha512"