Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admin page #2

Closed
9p4 opened this issue Jan 18, 2022 · 15 comments · Fixed by #18 or #27
Closed

Admin page #2

9p4 opened this issue Jan 18, 2022 · 15 comments · Fixed by #18 or #27
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@9p4
Copy link
Owner

9p4 commented Jan 18, 2022

Tracking issue for the admin page

@9p4 9p4 added enhancement New feature or request good first issue Good for newcomers labels Apr 10, 2022
@strazto
Copy link
Collaborator

strazto commented Apr 19, 2022

I'm working on this on my fork, btw

Roadmap

Steps:

  • Implement OIDC Config
  • Implement SAML Config

Future work:

Lower priority:

@9p4
Copy link
Owner Author

9p4 commented Apr 19, 2022

Thank you very much! Looking forward to the PR.

@strazto
Copy link
Collaborator

strazto commented Apr 20, 2022

Thank you very much! Looking forward to the PR.

So far, frontend is set up and fetching config is half done, then I had to work on my actual job that I was procrastinating 🙃

Most of what I struggled with was figuring out how to add the embedded js resource (you gotta add a reference in the csproj as well as in the embedded page def)

I'm mainly doing this because having a convenient admin page is what I'd consider to be the requirements I need to actually use this on my server.

I'm planning on only implementing a frontend for oidc, then with some feedback, I might extend it to saml, or someone else can since it'll be straightforward enough given it'll be basically the same as oidc.

On an unrelated note
I am curious- when you develop locally, how do you test against an authentication instance, since the host is probably http://localhost?

Also, I might like some guidance / help with mapping some fields/terminology from keycloak to authelia, in particular the role - focussed configurations

I'll raise that second question when I get to that point, though (happy to discuss in separate issues, but I'm just getting to work now)

@strazto
Copy link
Collaborator

strazto commented Apr 20, 2022

Since I'm filling this issue with unrelated clutter already (dw I'll clean it up in a bit), I was also thinking I might document how to use the server's branding options to add a SSO link to the front page ( I think that's the only way you can add it, any markdown compatible html can be added, and style sheets)

In another pass, I may even write up something on the config frontend that generates SSO buttons and css for the login page

@9p4
Copy link
Owner Author

9p4 commented Apr 20, 2022

I am curious- when you develop locally, how do you test against an authentication instance, since the host is probably http://localhost/?

I run my own Keycloak instance so I just have the redirect URL set to localhost/whatever

Also, I might like some guidance / help with mapping some fields/terminology from keycloak to authelia, in particular the role - focussed configurations

I haven't really used Authelia. I'll spin up an instance and see if I can grok it.

I was also thinking I might document how to use the server's branding options to add a SSO link to the front page

I hadn't thought of that. That would be super cool 11/10

@strazto
Copy link
Collaborator

strazto commented Apr 21, 2022

I run my own Keycloak instance so I just have the redirect URL set to localhost/whatever

Yeah, sweet, I haven't actually set up the oidc provider part of authelia SSO yet - I was concerned that itd be limited to my domain but I'm sure it's just a setting

I haven't really used Authelia. I'll spin up an instance and see if I can grok it.

If you understand keycloak, you'll understand authelia - it's the same thing except much less.

Keycloak is probably more suitable for enterprise, but I found authelia was much easier to configure and get started with.

Personally, I use authelia + LLDAP (that's Light LDAP, a super simple opinionated implementation) for most of my auth stack - if you're running openldap + keycloak, then this stack will be very easy

Don't stress about running authelia yet, once I get this PR in, I'll set up oidc on my authelia instance and make sure I can authenticate for localhost hostnames, and see how I go from there - once I have actual flow state responses to compare I'll have more specific questions for you.

I do think that the roleClaim docs could be clarified - when you say "parse json" do you literally mean the string specifies the json subtree access, eg:

{
 "a" : 
      {
          "b" : { "user.group" : "admin" }
      }
}

Would be given as "a.b.user\.group" or whatever?

@9p4
Copy link
Owner Author

9p4 commented Apr 21, 2022

I do think that the roleClaim docs could be clarified - when you say "parse json" do you literally mean the string specifies the json subtree access, eg: [...] Would be given as "a.b.user.group" or whatever?

Yes! I'll see if I can clarify that in the docs

@strazto
Copy link
Collaborator

strazto commented Apr 28, 2022

Pinging to reopen this as the feature is incomplete

@9p4
Copy link
Owner Author

9p4 commented Apr 28, 2022

Whoops

@9p4 9p4 reopened this Apr 28, 2022
@9p4
Copy link
Owner Author

9p4 commented Apr 30, 2022

Let's add input validation too

#23 (comment)

@strazto
Copy link
Collaborator

strazto commented May 12, 2022

Okay revisiting this, since I get the impression we're not pushing a release until it's finished.
Priority will be the UX improvements we discussed for OIDC config, then extending that to SAML

@9p4
Copy link
Owner Author

9p4 commented May 12, 2022

Honestly, I don't want to rush out a new release right now (especially since JF 10.8 isn't even stable yet).

@Cookie-Monster-Coder
Copy link

I think it's better if releases are pushed out and versioned incrementally.

In the current stage of the plugin I'm not able to login using Jellyfin's User/pass which is needed for Phones and TV as they can't login via SSO. This pull request fixes that #9 but, it's not in the latest release.

@strazto
Copy link
Collaborator

strazto commented May 13, 2022

I agree with @Cookie-Monster-Coder
JF 10.8 may not be stable, and the plugin may not be stable, but releases have 2 benefits:

  1. They enable people to install the plugin without too much hassle
  2. They give a semi-stable point of reference for a point at which the plugin has been incrementally improved, and can be considered to be "usable"

We can provide releases with the caveat that the plugin is still immature. I'll move this to its own issue.

This was referenced May 13, 2022
@9p4
Copy link
Owner Author

9p4 commented May 13, 2022

Sure, I'll put out a new release as soon as #27 is merged.

@9p4 9p4 closed this as completed in #27 May 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
3 participants