148 Commits

Author SHA1 Message Date
Jade Lovelace
29189a9af0 Update version in SSO-Auth.csproj 2024-02-22 20:23:49 -05:00
Ersei Saggi
d51e5069d6 feat: allow for better endpoint validation 2024-02-20 09:11:48 -05:00
Sergii Bogomolov
5149cef625 Remove jellyfin_credentials before loading iframe
Due to Safari's aggressive caching updated jellyfin_credentials were not
used. They were overwritten with the old credentials instead. This fix
removes jellyfin_credentials first, then let's iframe load and create
new jellyfin_credentials with no access token. After this we update it
and login succeeds.
2024-02-10 13:09:05 -05:00
Ersei Saggi
9321c25f20 feat: allow linking to work with new paths 2024-01-11 09:56:45 -05:00
Ersei Saggi
cb26ba9852 Add yet another null check in SAML 2023-10-18 01:09:33 -04:00
Ersei Saggi
1b6761bf73 fix: add another null check in SAML for the default provider 2023-09-01 15:59:13 -04:00
Ersei Saggi
e65c5add95 fix: a few more null checks 2023-08-29 13:06:02 -04:00
Ersei Saggi
f37e8dd3bb fix: handle empty and invalid strings in the schemeOverride 2023-08-07 12:14:52 -04:00
Ersei Saggi
9b667b3175 feat: allow overriding redirect scheme 2023-08-07 12:09:51 -04:00
Ersei Saggi
f897704100 fix: change iframe URL to point to the web UI instead of the root 2023-08-07 08:23:34 -04:00
Ersei Saggi
5777c8038e fix: improve final redirect (#109) 2023-08-06 16:29:44 -04:00
Ersei Saggi
95776b427b style: fix configPage style (prettier) 2023-08-06 16:27:01 -04:00
Ersei Saggi
657f90ef13 fix: make SAML paths better; improve and add OID discovery defaults 2023-08-06 16:19:53 -04:00
Ersei Saggi
defab9c4e8 feat: clarify redirect paths (#84) 2023-08-06 14:32:05 -04:00
Ersei Saggi
340eb2c6c3 feat: add flakes, fix prettier 2023-08-05 18:48:33 -04:00
Ersei Saggi
0d19a3376f feat: Allow Live TV management 2023-08-05 18:04:28 -04:00
Ersei Saggi
1de72effca fix: Check for Roles being null in configuration for openid 2023-08-05 17:31:06 -04:00
Esmond
c6cac45004 fix: error in logs for #81 (#100) 2023-01-01 16:21:58 -05:00
Esmond
dfd519ae9d fix: null check before trim() (#99)
* null check before trim()

* fix: #97 null check before trim()

* fix: apply null check to all trims
2022-11-06 21:53:55 -05:00
9p4
40120dd127 fix: #83 Trim whitespace in user provided strings (#89) 2022-11-03 22:42:56 -04:00
9p4
fa46806dc5 feat: allow for HTTPS to be disabled in OpenID discovery (#77)
* feat: allow for HTTPS to be disabled in OpenID discovery (#76)
2022-09-09 10:19:48 -04:00
9p4
facf45058f Merge branch 'main' into custom-username-claim 2022-08-23 19:32:16 -04:00
Sambhav Saggi
672fce8189 fix: prevent null passwords when fallback is set to default provider 2022-08-23 19:22:02 -04:00
Sambhav Saggi
c2f50e1e4c style: run prettier 2022-08-23 18:57:57 -04:00
Sambhav Saggi
a90e0359e4 feat: add config page for preferred username config 2022-08-23 18:26:58 -04:00
Sambhav Saggi
332f62d76e feat: allow configuration of preferred username claim (#47) 2022-08-23 18:18:42 -04:00
9p4
47db5cb504 Merge pull request #71 from fredriklindberg/improve-get-request-base
fix: don't include port in redirect URL for 80 and 443
2022-08-23 18:12:19 -04:00
Fredrik Lindberg
d06f680407 fix: make user creation more robust
Reverse logic of CreateCanonicalLinkAndUserIfNotExist() to first check if the user exists,
then create the canonical link. This allows seamless re-creation of users through SSO after
they have been deleted from Jellyfin but not properly de-linked.
2022-08-18 17:55:41 +02:00
Fredrik Lindberg
976a816d8c fix: don't include port in redirect URL for 80 and 443
Skip port number in redirect URLs during the following conditions
 - The request scheme is http and request port is 80
 - The request scheme is https and request port is 443

This creates redirect urls as https://server/path instead of https://server:443/path
2022-08-18 17:48:37 +02:00
Matthew Strasitoto
510624f142 fix(SSOViews): Resolve server url when served under custom base URL 2022-08-14 13:13:07 +10:00
Matthew Strasitoto
840da75feb remove cdn for material icons, embed svg in stylesheet 2022-08-14 13:13:07 +10:00
Matthew Strasitoto
a4ea12b7f4 document self service in admin config page 2022-08-14 13:13:07 +10:00
Matthew Strasitoto
843873d8d5 fix: improve 403 failure message 2022-08-14 13:13:07 +10:00
Matthew Strasitoto
fc888de045 Finish implementing linking view page 2022-08-14 13:13:07 +10:00
Matthew Strasiotto
d72e47e7a7 Use a local apiClient module 2022-08-14 13:13:07 +10:00
Matthew Strasiotto
a7fb4d4ef0 Code cleanup 2022-08-14 13:13:07 +10:00
Matthew Strasiotto
ebfcadc862 Reduce duplication in adding new views 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
d8d7d616bd Add nav to leave linking page 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
bd60d7e32c Remove scss directives from restyled css 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
7e5738c65f Add css to replace missing css in custom view 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
f810ea7259 add module for api client
Add js apiclient init module
2022-08-14 13:13:06 +10:00
Matthew Strasiotto
cc05b12a23 Add controller for serving views 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
e7d70b8326 lazy provider linking frontend
Use ApiClient.getUrl to get base urls for links

Per
https://github.com/9p4/jellyfin-plugin-sso/pull/34#discussion_r885060442
2022-08-14 13:13:06 +10:00
Matthew Strasiotto
c5e1644d17 implement api for listing and deleting links 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
7ede38d0ab Implement canonical linking 2022-08-14 13:13:06 +10:00
Matthew Strasiotto
5da7e02faf Fix ID Provider incorrectly resetting on login 2022-05-26 19:17:58 +10:00
Sambhav Saggi
07aa74b1d7 3.3.0.0 Release 2022-05-22 12:13:40 -04:00
Matthew Strasiotto
f98509633b Improve UX on config page (#27)
* scope listArgumentsByType to oidc form, select on class

scope listArgumentsByType to correct form

Select arguments by class instead of type

* String arrays now given as newline separated lists

* Implement UI for checklisting folders, and role mapping

start making enabled folders checklist-able

Implement save/load folder lists

change enabledfolders to checklist

refactor: rename saveFolderList -> serializeEnabledFolders, fillFolderList -> populateEnabledFolders

refactor listArgumentsByType

start implementing load provider role mapping

implement role mapping

Move remove button markup, change hierachy

remove logging statements

resolve folder population promise before trying to check folders

* Improve markup, add stylesheet, update help strings

Add stylesheet

update markup + styling of specialized forms

improve markup, assign checkboxes as emby-checkbox es

imrpove markup, remove old comments

run stylesheet through prettier

Update help strings

* Markup changes: Adjust role mapping whitespace

* scope listArgumentsByType to oidc form, select on class

scope listArgumentsByType to correct form

Select arguments by class instead of type

* String arrays now given as newline separated lists

* Implement UI for checklisting folders, and role mapping

start making enabled folders checklist-able

Implement save/load folder lists

change enabledfolders to checklist

refactor: rename saveFolderList -> serializeEnabledFolders, fillFolderList -> populateEnabledFolders

refactor listArgumentsByType

start implementing load provider role mapping

implement role mapping

Move remove button markup, change hierachy

remove logging statements

resolve folder population promise before trying to check folders

* Improve markup, add stylesheet, update help strings

Add stylesheet

update markup + styling of specialized forms

improve markup, assign checkboxes as emby-checkbox es

imrpove markup, remove old comments

run stylesheet through prettier

Update help strings

* Markup changes: Adjust role mapping whitespace

* Proper stylesheet import with nonstandard base URL

* Style

* Ensure rolemappings are using arrays instead of dicts

* Add confirmation for deletion

* Linting

* Update admin page status in README

Co-authored-by: 9p4 <17993169+9p4@users.noreply.github.com>
2022-05-22 12:09:57 -04:00
Matthew Strasiotto
54ef348009 Allow requesting additional scopes in OIDC flows (#24)
* Allow requesting additional scopes in OIDC flows

* Supply OidScopes as an array

* Document `OidScopes` in readme
2022-04-29 16:04:45 -04:00
Matthew Strasiotto
3a8e89db82 Add UI Page for OIDC Configuration (#18)
* Add UI Page for Configuration

For now, this only implements OID configuration.

Add configuration

More frontend additions

implement more frontend for save / load config

Fully implement save + load

implement delete provider

* Cleanup UI page markup, spelling, help text, add more useful titles

* Tidy up help strings

https://github.com/9p4/jellyfin-plugin-sso/pull/18#discussion_r857147540

https://github.com/9p4/jellyfin-plugin-sso/pull/18#discussion_r857147695

https://github.com/9p4/jellyfin-plugin-sso/pull/18#discussion_r857147715

https://github.com/9p4/jellyfin-plugin-sso/pull/18#discussion_r857147806

https://github.com/9p4/jellyfin-plugin-sso/pull/18#discussion_r857147832
2022-04-27 19:53:19 -04:00