11
43
Fork
You've already forked base
6

Registrierung mit Codeberg/Gitea (OAuth2) ermöglichen #152

Open
opened 2022年07月14日 11:47:26 +02:00 by gerhardbeck · 14 comments

Es wäre schön, wenn man sich mit dem Codeberg Account auch bei uns gleich anmelden könnte.
Denn dieser würde auch für unsere Weblate-Seite gehen gehen

Es wäre schön, wenn man sich mit dem Codeberg Account auch bei uns gleich anmelden könnte. Denn dieser würde auch für unsere Weblate-Seite gehen gehen

Oftmals wird eine http://www.passportjs.org/ Strategie in Express.js genutzt.

Oftmals wird eine http://www.passportjs.org/ Strategie in Express.js genutzt.

Und das würde konkret...?

Und das würde konkret...?

Passport.js ist eine Bibliothek, die verschiedene Auth-Strategien implementiert. Somit muss das Rad nicht neu erfunden werden.

Ich denke hier etwa an http://www.passportjs.org/packages/passport-oauth2/ sofern Codeberg OAuth anbietet.

Passport.js ist eine Bibliothek, die verschiedene Auth-Strategien implementiert. Somit muss das Rad nicht neu erfunden werden. Ich denke hier etwa an http://www.passportjs.org/packages/passport-oauth2/ sofern Codeberg OAuth anbietet.

Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten...

Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten...

Bestätigt.

https://codeberg.org/.well-known/openid-configuration ist zumindest valide, was auf die anderen hoffen lässt.

Wäre wohl angemessen, Codeberg e.V. ein FYI zukommen zu lassen, wenn dieses Ticket umgesetzt wird.

Bestätigt. https://codeberg.org/.well-known/openid-configuration ist zumindest valide, was auf die anderen hoffen lässt. Wäre wohl angemessen, Codeberg e.V. ein FYI zukommen zu lassen, wenn dieses Ticket umgesetzt wird.

Spannend könnte auch noch Integration von LTI sein, um die Lerntools in Moodle einzubinden:
https://cvmcosta.me/ltijs/#/

Spannend könnte auch noch Integration von LTI sein, um die Lerntools in Moodle einzubinden: https://cvmcosta.me/ltijs/#/

Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten...

Bin beim Gitea-Soft-Fork namens Forgejo involviert. Könnte sein, dass Codeberg dahin wechselt (dauert sicher aber noch einige Monate). Siehe auch Open Letter Updates. Hintergrund ist Gitea Ltd.

> Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten... Bin beim Gitea-Soft-Fork namens Forgejo involviert. Könnte sein, dass Codeberg dahin wechselt (dauert sicher aber noch einige Monate). Siehe auch [Open Letter Updates](https://gitea-open-letter.coding.social/updates/). Hintergrund ist Gitea Ltd.

Spannend könnte auch noch Integration von LTI sein, um die Lerntools in Moodle einzubinden:
https://cvmcosta.me/ltijs/#/

Hättest du Lust da mal was zu basteln bzw. das weiter auszuarbeiten?

> Spannend könnte auch noch Integration von LTI sein, um die Lerntools in Moodle einzubinden: > https://cvmcosta.me/ltijs/#/ Hättest du Lust da mal was zu basteln bzw. das weiter auszuarbeiten?

Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten...

Bin beim Gitea-Soft-Fork namens Forgejo involviert. Könnte sein, dass Codeberg dahin wechselt (dauert sicher aber noch einige Monate). Siehe auch Open Letter Updates. Hintergrund ist Gitea Ltd.

das heißt in Bezug darauf wäre dein Rat: Erstmal abwarten?

> > Codeberg beruht auf Gitea, wird also https://docs.gitea.io/en-us/oauth2-provider/ gelten... > > Bin beim Gitea-Soft-Fork namens Forgejo involviert. Könnte sein, dass Codeberg dahin wechselt (dauert sicher aber noch einige Monate). Siehe auch [Open Letter Updates](https://gitea-open-letter.coding.social/updates/). Hintergrund ist Gitea Ltd. das heißt in Bezug darauf wäre dein Rat: Erstmal abwarten?

Japp.

Vielleicht eine Woche noch.

Japp. Vielleicht eine Woche noch.
Member
Copy link

Wobei für OIDC-Integration brauchen wir eigentlich nicht auf Codeberg zu warten. Das sollte ja einstellbar sein, welche OIDC-Provider unterstützt werden sollen (können ja 0..N sein).

Der viel größerer Punkt ist hierbei die Berechtigungssteuerung. Die erfolgt ja weiterhin im Lerntools selbst und erfordert heute lokale Konten. Wer sich also anmeldet und keine Berechtigung hat - darf natürlich nichts tun dürfen. Auf der anderen Seite steht die Frage: soll dann automatisch ein "verknüpftes Konto" in Lerntools angelegt werden (Gefahr durch Flut an unberechtigten Kontos) oder muss jemand dennoch händisch die Mailadressen / Nutzerkonten anlegen, damit diese hinterher sofort greifen bei Login?

Das sind ernstgemeinte Fragen, über die wir uns im Klaren sein müssen, bevor überhaupt Hand im Code angelegt wird.

Wobei für OIDC-Integration brauchen wir eigentlich nicht auf Codeberg zu warten. Das sollte ja einstellbar sein, welche OIDC-Provider unterstützt werden sollen (können ja 0..N sein). Der viel größerer Punkt ist hierbei die Berechtigungssteuerung. Die erfolgt ja weiterhin im Lerntools selbst und erfordert heute lokale Konten. Wer sich also anmeldet und keine Berechtigung hat - darf natürlich nichts tun dürfen. Auf der anderen Seite steht die Frage: soll dann automatisch ein "verknüpftes Konto" in Lerntools angelegt werden (Gefahr durch Flut an unberechtigten Kontos) oder muss jemand dennoch händisch die Mailadressen / Nutzerkonten anlegen, damit diese hinterher sofort greifen bei Login? Das sind ernstgemeinte Fragen, über die wir uns im Klaren sein müssen, bevor überhaupt Hand im Code angelegt wird.

Händisch ist immer schlecht. Wie groß wäre die Gefahr der Flut an Konten, wenn sie bei Inaktivität eh gelöscht werden?

Bei Überflutung könnte man es ja wieder abschalten, oder?

Händisch ist immer schlecht. Wie groß wäre die Gefahr der Flut an Konten, wenn sie bei Inaktivität eh gelöscht werden? Bei Überflutung könnte man es ja wieder abschalten, oder?

Bei OIDC wird vom Provider ein Context übergeben, in dem zB. die Emailadresse, Gruppenzugehörigkeiten etc. mit übertragen wird. Ggf. müssen also die Namen dieser Variablen spezifiziert werden. Am Ende entscheidet aber immer der einzelne Lerntool-Hoster, welchen Provider er einbindet bzw. vertrauen kann.

Wobei für OIDC-Integration brauchen wir eigentlich nicht auf Codeberg zu warten. Das sollte ja einstellbar sein, welche OIDC-Provider unterstützt werden sollen (können ja 0..N sein).

Der viel größerer Punkt ist hierbei die Berechtigungssteuerung. Die erfolgt ja weiterhin im Lerntools selbst und erfordert heute lokale Konten. Wer sich also anmeldet und keine Berechtigung hat - darf natürlich nichts tun dürfen. Auf der anderen Seite steht die Frage: soll dann automatisch ein "verknüpftes Konto" in Lerntools angelegt werden (Gefahr durch Flut an unberechtigten Kontos) oder muss jemand dennoch händisch die Mailadressen / Nutzerkonten anlegen, damit diese hinterher sofort greifen bei Login?

Das sind ernstgemeinte Fragen, über die wir uns im Klaren sein müssen, bevor überhaupt Hand im Code angelegt wird.

Bei OIDC wird vom Provider ein Context übergeben, in dem zB. die Emailadresse, Gruppenzugehörigkeiten etc. mit übertragen wird. Ggf. müssen also die Namen dieser Variablen spezifiziert werden. Am Ende entscheidet aber immer der einzelne Lerntool-Hoster, welchen Provider er einbindet bzw. vertrauen kann. > Wobei für OIDC-Integration brauchen wir eigentlich nicht auf Codeberg zu warten. Das sollte ja einstellbar sein, welche OIDC-Provider unterstützt werden sollen (können ja 0..N sein). > > Der viel größerer Punkt ist hierbei die Berechtigungssteuerung. Die erfolgt ja weiterhin im Lerntools selbst und erfordert heute lokale Konten. Wer sich also anmeldet und keine Berechtigung hat - darf natürlich nichts tun dürfen. Auf der anderen Seite steht die Frage: soll dann automatisch ein "verknüpftes Konto" in Lerntools angelegt werden (Gefahr durch Flut an unberechtigten Kontos) oder muss jemand dennoch händisch die Mailadressen / Nutzerkonten anlegen, damit diese hinterher sofort greifen bei Login? > > Das sind ernstgemeinte Fragen, über die wir uns im Klaren sein müssen, bevor überhaupt Hand im Code angelegt wird.
The next Forgejo/Codeberg release might be interesting here: https://codeberg.org/earl-warren/forgejo/src/branch/wip-1.19-release-notes-oidc/RELEASE-NOTES.md#map-oidc-groups-to-orgs-teams-https-codeberg-org-forgejo-forgejo-commit-e8186f1c0
Sign in to join this conversation.
No Branch/Tag specified
main
dev
vue3
feature/ticket_117
weblate
master
experimental
v.0.9.1
v.0.9
v.0.8.2
v.0.8.1
v.0.8.0
v.0.7.0
0.7
v0.6.0
v0.30
v0.2.0
v0.12
v0.11
v0.1
Labels
Clear labels
Kind/Breaking
Breaking change that won't be backward compatible
Kind/Bug
Something is not working
Kind/Documentation
Documentation changes
Kind/Enhancement
Improve existing functionality
Kind/Feature
New functionality
Kind/Security
This is security issue
Kind/Testing
Issue or pull request related to testing
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
Kind: Enhancement
improvement of a feature
Kind: Feature
Something totally new
Kind: Interesting for Wiki
to be saved in the wiki
Kind: invalid
Something is wrong
Kind: Question
More information is needed
Kind: Security
Relevant for security
Kind:bug
Something is not working
Priority: High
Priority: Low
Priority: Medium
Status: Contribution welcome
Contributions are very welcome, get started here
Status: Duplicate
This issue or pull request already exists
Status: External problem
There is an external problem
Status: Help wanted
Need some help
Status: In progress
Someone's working on it
Status: In review
we're testing a possible solution
Status: next release
All tested and ready for the next release
Status: Starters
This is a good task to start helping lerntools
Status: Tests neededd
Need some tests for locating the problem
Status: won't fix
This won't be fixed
vue3
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lerntools/base#152
Reference in a new issue
lerntools/base
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?