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

OAUTH: Layout der OAuth-Dialoge (2d) #1044

Closed
Michael-Schaer opened this issue Oct 5, 2020 · 6 comments
Closed

OAUTH: Layout der OAuth-Dialoge (2d) #1044

Michael-Schaer opened this issue Oct 5, 2020 · 6 comments
Assignees

Comments

@Michael-Schaer
Copy link
Contributor

Michael-Schaer commented Oct 5, 2020

Hintergrund

Am letzten Hackathon haben wir die OAuth-Dialoge unter die Lupe genommen. Wir haben dabei zwei Unschönheiten gefunden:

  • Die Login-Seite fürs OAuth sieht genau gleich aus wie die übliche MiData-Login-Seite. Anwender*innen verstehen womöglich nicht, warum sie auf die MiData-Loginseite verweisen werden.
  • Die Oauth-Login-Seite enthält keinen Hinweis über das Ziel bzw. die darauffolgende Weiterleitung

Lösungsansatz

Um das Benutzer-Erlebnis zu verbessern, stellen wir uns folgende Anpassung vor:

  • Eigenes Layout für die Dialoge "OAuth Login" und "OAuth Autorisierung"
  • Unnötige Elemente aus dem Dialog entfernen (Menu, Suche, Info "Die Daten in der Mitgliederdatenbank dürfen nur...")
  • Erwähnung der Ziel-Applikation beim OAuth Login
  • Hinweis "Mit MiData einloggen"
  • Optional: Logo pro OAuth-App hinterlegen können

Mockups

Skizze

Die Dialoge könnten angelehnt an bekannte Dienste von Google oder Microsoft werden:

OAuth Login
OAuth-Login

OAuth Autorisierung
OAuth-Auth

Techspec

  • Neue OAuth Login Seite mit geforderten Layout und Informationen, redirect auf basis HTTP_REFERER (8h)
  • Customization bestehender OAuth Authorizations Seite (5h)
  • Icon für OAuth Application (3h)
@amaierhofer
Copy link
Contributor

  • Neue OAuth Login Seite mit geforderten Layout und Informationen, redirect auf basis HTTP_REFERER (8h)
  • Customization bestehender OAuth Authorizations Seite (5h)
  • Icon für OAuth Application (3h)

@amaierhofer amaierhofer changed the title Layout der OAuth-Dialoge Layout der OAuth-Dialoge (2d) Oct 29, 2020
@chrusu chrusu added the erw2020 label Feb 9, 2021
@chrusu chrusu changed the title Layout der OAuth-Dialoge (2d) OAUTH: Layout der OAuth-Dialoge (2d) Feb 10, 2021
@kronn kronn self-assigned this Feb 11, 2021
@kronn kronn closed this as completed in 2e01406 Feb 11, 2021
@Michael-Schaer
Copy link
Contributor Author

Michael-Schaer commented Feb 12, 2021

Hallo Matthias

Cool, ich freue mich zu testen, wie die neuen Seiten aussehen!

Ich habe kurz versucht, von unserem Portal mit dem Testsystem MiData einzuloggen. Dabei erhalte ich jetzt eine Fehlermeldung. Ist das ein Zufall oder hat das etwas mit dem Issue hier zu tun? ;)

image

Problem nachstellen:

Edit: Wenn das am Portal-Testsystem liegt, ist das natürlich nicht dein Ding. Aber die Fehlermeldung ist nicht so aussagekräftig, darum sieht es für mich aus, als wäre Hitobito nicht auf diesen Fall vorbereitet. Darum die Anfrage an euch...

@carlobeltrame
Copy link
Member

Ich kann das Problem bestätigen. Es tritt nur auf, wenn man auf hitobito noch nicht eingeloggt ist, und sich dann versucht via hitobito OAuth bei einer (beliebigen) externen Applikation anzumelden. Ist man in hitobito bereits zuvor eingeloggt, tritt das Problem nicht auf.

Dem Fehler der in den Logs auftaucht (seltsamerweise nicht in Sentry) zufolge reicht es möglicherweise, wenn wir in https://github.com/hitobito/hitobito/blob/master/app/views/devise/sessions/_oauth_info.html.haml#L8 Doorkeeper::Application durch Oauth::Application ersetzen. Ich konnte das aber noch nicht testen.

@kronn
Copy link
Member

kronn commented Feb 12, 2021

Ich schaue es mir an.

@kronn kronn reopened this Feb 12, 2021
@kronn kronn closed this as completed in 84830df Feb 12, 2021
@kronn
Copy link
Member

kronn commented Feb 12, 2021

Danke, @Michael-Schaer für den ersten Test und die Fehlermeldung. Danke auch an @carlobeltrame für den Hinweis für die Lösung.

Der technische Hintergrund hat mich kurz zum Lachen gebracht. Sowohl Doorkeeper::Application wie auch Oauth::Application nutzen die gleichen Daten aus der Datenbank. Da aber der Logo-Upload bei der Oauth::Application eingebaut ist, kann auch nur diese das Logo wieder gut darstellen. Schon spannend, wie die gleichen Daten in anderen Kontexten sinnvoll sind oder auch nicht.

Die Integration ist aktualisiert, für mich funktioniert der Login jetzt.

@Michael-Schaer
Copy link
Contributor Author

Super, merci für das schnelle Beheben! Sieht richtig chic aus jetzt!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants