Jordan Dominion
64bbbbaff9
Remove the need to call .AsQueryable() on IDatabaseCollection. Remove IAsyncEnumerable support
2025-08-15 22:40:54 -04:00
Jordan Dominion
5987ba5869
Initial setup of instance-based authorities. Implement IChatBotAuthority.Create for REST
2025-08-09 17:12:52 -04:00
Jordan Dominion
8bda399adf
Fix whitespace
2025-07-27 18:53:47 -04:00
Jordan Dominion
9709aa64c2
Minor syntax cleanup
2025-07-27 18:47:51 -04:00
Jordan Dominion
fca363e430
Merge branch 'HttpClientSanity' into TheGreatAuthenticationRework
2025-07-27 17:57:53 -04:00
Jordan Dominion
9e8bdde30c
Remove HttpClient abstractions
...
Now implement mocked `HttpMessageHandler`s as recommended: https://stackoverflow.com/a/36427274/3976486
2025-07-27 15:34:33 -04:00
Jordan Dominion
f98813d859
WIP
2025-04-26 22:27:11 -04:00
Jordan Dominion
4955e678db
WIP
2025-04-26 15:29:34 -04:00
Jordan Dominion
cdb7bd9f15
WIP
2025-04-26 14:00:42 -04:00
Jordan Dominion
7363682b20
WIP
2025-04-25 21:40:18 -04:00
Jordan Dominion
fb0323cc5a
WIP
2025-04-20 14:09:29 -04:00
Jordan Dominion
b4e7c6f915
Implement the RightsAuthorizationHandler
...
Note the workaround for https://github.com/dotnet/aspnetcore/issues/56272
2025-04-18 15:54:55 -04:00
Jordan Dominion
4d53be23c6
First implementation of rights conditionals
2025-04-18 14:21:09 -04:00
Jordan Dominion
30658a5173
Move TGS user ID parsing from ClaimsPrincipal into an extension
2025-04-18 14:10:06 -04:00
Jordan Dominion
877830036a
Bro, I can NOT give a shit
2025-03-24 17:31:34 -04:00
Jordan Dominion
59cd745676
Allow group ID claim name to be configurable
2025-03-23 20:32:20 -04:00
Jordan Dominion
12e22939a9
Fix an IDE message
2025-03-23 20:14:44 -04:00
Jordan Dominion
7a0f893f22
Fix string.Contains call
2025-03-15 09:13:29 -04:00
Jordan Dominion
abf12000cc
Fixes for OIDC stuff
2025-03-10 18:09:28 -04:00
Jordan Dominion
ffc5bccfd1
Add OIDC strict mode
2025-03-09 22:06:57 -04:00
Jordan Dominion
2e75125860
OIDC First Implementation
2025-03-09 17:53:43 -04:00
Jordan Dominion
ff8473b73c
Remove support for old /tg/ forums OAuthValidator
2025-03-02 11:24:33 -05:00
Jordan Dominion
e7b1189620
Fix UserEnabled role being OR'd with action authorization roles FUUUUUCCCKK!!!!
...
Fixes #2064
2025-01-03 18:50:20 -05:00
Jordan Dominion
be6960d942
Move long-running delay task fix to AsyncDelayer
...
Fixes #1985
2024-11-03 10:28:09 -05:00
Jordan Dominion
d98bc2918e
Fix an IDE0001 message VS was screaming about
2024-11-03 10:27:45 -05:00
Jordan Dominion
d6a8e102e6
Use default
2024-11-02 13:10:38 -04:00
Jordan Dominion
362913db3c
Fix null reference exceptions
2024-11-02 13:09:57 -04:00
Jordan Dominion
266e9867d8
Setup OAuth Gateways
...
Closes #1996
2024-11-02 12:06:43 -04:00
Jordan Dominion
f38a21f42e
Move to saner namespace
2024-09-23 21:26:51 -04:00
Jordan Dominion
e14d99823c
Correct GQL Authorize policies
2024-09-23 21:21:22 -04:00
Jordan Dominion
0b87147385
Fix issue with GQL auth and no roles
2024-09-23 20:46:31 -04:00
Jordan Dominion
af60f4f778
Fix warnings, test build errors, and disable IDE0290
2024-09-23 20:11:26 -04:00
Jordan Dominion
d0d2db5f04
Implement basic session invalidation subscriptions
2024-09-23 20:04:29 -04:00
Jordan Dominion
d7c5374a9f
Fold TokenValidator into AuthenticationContextFactory
2024-09-23 17:28:13 -04:00
Jordan Dominion
07a317ed81
Apply some code suggestions
2024-09-21 16:39:17 -04:00
Jordan Dominion
2223063b81
Apply code suggestion
2024-09-21 13:15:00 -04:00
Jordan Dominion
f37883a438
Hopefully fix issues with auth pipeline for good
2024-09-21 10:58:17 -04:00
Jordan Dominion
5f0fa339d1
Fix invalid AuthenticationContexts being able to be dispatched to GQL resolvers
2024-09-18 22:50:01 -04:00
Jordan Dominion
ff262b2584
Improve LoginPayload
2024-09-14 14:54:54 -04:00
Jordan Dominion
30f3bd58f2
API surface restructuring for GraphQL. Lockdown some API information that wasn't present previously. Validate nodes can be resolved
2024-09-13 23:57:36 -04:00
Jordan Dominion
e2188539f8
Merge branch 'PrivateKeySharing' into MoreGraphQL
2024-09-13 00:02:44 -04:00
Jordan Dominion
b52938545c
Fix dynamic signing key switching
2024-09-12 23:38:41 -04:00
Jordan Dominion
c400e7af8d
Expose ITokenFactory's signing key
2024-09-12 17:07:27 -04:00
Jordan Dominion
ed2de22f79
More GraphQL development
...
- Setup query structure for the potential for `RemoteGateway`s.
- Add new `ErrorCode` indicating they are not implemented.
- Rename `ServerInformationBase` to `GatewayInformationBase`.
- Fix `TgsRestAuthorizeAttribute` lacking an `IAuthorizationFilter`.
2024-09-10 23:12:39 -04:00
Jordan Dominion
9ac92d1abc
Further GraphQL API Implementation
...
- Introduce the concept of `IAuthority`s to handle business logic for both REST and GraphQL.
- Add new authorize attributes so roles can be defined on `IAuthority`s and inherited on REST/GraphQL API surface.
- Implement `ILoginAuthority`, converting REST methods to use it.
- Partially implement `IUserAuthority`, converting REST methods to use it.
- Setup `ErrorMessageResponse` filtering for GraphQL fields.
2024-09-10 21:52:18 -04:00
a15d5f27c8
Update src/Tgstation.Server.Host/Security/WindowsSystemIdentity.cs
...
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com >
2024-08-18 23:50:05 -04:00
ZephyrTFA
3d231cfcef
remove nullable
2024-08-18 13:48:25 -04:00
ZephyrTFA
259fd60ddf
move to IsSuperUser
2024-08-18 13:41:06 -04:00
ZephyrTFA
8da2424909
move IsRoot to posix identity
...
move checking root to CheckSystemCompatibility
use Syscall internal getuid
2024-08-18 13:26:09 -04:00
Jordan Dominion
a42dafb3ab
Add support for GitHub App installation authentication to IGitHubClientFactory
2024-08-13 21:51:59 -04:00