Replies: 5 comments 2 replies
-
|
I am generally against building any more custom implementations when there is already a fitting solution available within aspcore. The statement that aspcore auth code is build towards web is just plain wrong i have been using it for years in pure C# clients without any issue or modifications, it supports bearer tokens out of the box via prebuild providers and that is the way we want to go long term to solve some issues overall. Also your statement that it tightly interacts with the Authentication is true, which we are already using The AspCore auth framework is what most developers should be highly familiar with as its the default every boilerplate aspcore app comes with and there isn't any widely used alternative. When it comes to Authentication and security we should absolutly avoid reinventing the wheel as people far smarter then us already build something for us to use that handles maybe the most critical part of our application. |
Beta Was this translation helpful? Give feedback.
-
|
Okay |
Beta Was this translation helpful? Give feedback.
-
|
@JPVenson I considered just giving up, but I just have to say I am quite taken aback by your reception. This isn't just about me "rolling my own" alternative of ASP.NET Core authentication. It also separates the tightly interwoven authentication and authorization logic that was plaguing the back end and which I assume has been causing any progress with regards to authentication to be stagnant for the past 5 years. Even if this isn't a final solution, it's a gigantic leap in the right direction compared to the extremely rigid username password authentication that exists right now. I believe you are making a big mistake. |
Beta Was this translation helpful? Give feedback.
-
|
I have no experience in ASP.NET Core or generally coding with frameworks at all. But is there a specific reason that the authetication methods for 2fa/totp have been standing still for the past 2 years since it was put on planned? |
Beta Was this translation helpful? Give feedback.
-
|
Continuing this discussion a bit: Reviewing stenlan's code and checking on JPvenson's pre-requisites here:
A few dumb questions as I'm looking to commit some time to contributing code:
I reviewed documents in: https://jellyfin.org/docs/general/contributing/development, but things look a bit sparse, which is okay, mostly curious. Also heads up, new to Jellyfin's codebase in general, so looking through: https://jellyfin.org/docs/general/contributing/ and getting sorted. I'll likely start on a better "first issue", but might not hurt to start this discussion. Let me know if this needs to be moved as well. @nielsvanvelzen @JPVenson Since I saw activity from both of you on this discussion already, apologies for the ping. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, I was directed here from my PR at jellyfin/jellyfin. I would like to hear your opinions about this PR. It:
IUserAuthenticationManager, and decouples it from the username/password type of authentication and instead makes it fully generic. Added some easy to use abstract building blocks for authentication providers;AbstractAuthenticationProvider(used by username password auth)AbstractExternallyTriggeredAuthenticationProvider(used by quick connect auth)AbstractChallengeResponseAuthenticationProvider(WIP; can be used by general challenge-response type authentication providers).IAuthenticationProviderinterface to a genericIAuthenticationProvider<T>interface, where T is the type of payload data that an authentication provider takes upon authentication, so that multiple types of authentication can be supported, and different providers can be registered to the same type of payload data, so that different username/password providers can still be easily implemented to replace the existing ones too.AbstractExternallyTriggeredAuthenticationProvider.I have chosen not to use ASP.NET Core Authentication since it's not just authentication but also authorization, which is deeply rooted throughout this entire application. I also don't think it's necessarily the way to go even if it were easier to switch to it, since it's quite opinionated and mostly geared towards web clients, while the Jellyfin backend serves not just web clients but all kinds of clients. My implementation provides a lot more flexibility and is not as opinionated.
Beta Was this translation helpful? Give feedback.
All reactions