hitobito_pbs icon indicating copy to clipboard operation
hitobito_pbs copied to clipboard

Inkonsistente Sprache oAuth

Open Tschet1 opened this issue 5 years ago • 3 comments

Wenn ich in der Testumgebung via oAuth die Infos von Hamza Dethloff abrufe, erhalte ich manchmal Antworten auf deutsch und manchmal Antworten auf englisch (siehe Feld role_name).

array ( 'id' => 162, 'email' => '[email protected]', 'first_name' => 'Hamza', 'last_name' => 'Dethloff', 'nickname' => 'Impedit', 'company_name' => 'admin', 'company' => true, 'address' => 'Myliusstr. 29b', 'zip_code' => '74160', 'town' => 'West Hennesstadt', 'country' => 'FR', 'gender' => 'w', 'birthday' => '1998-05-11', 'picture' => '______.png', 'primary_group_id' => 1, 'title' => 'Doktor', 'correspondence_language' => 'fr', 'additional_languages' => 'Französisch, Englisch', 'advertising' => 'none', 'roles' => array ( 0 => array ( 'group_id' => 1, 'group_name' => 'Admin neu', 'role_name' => 'administrator', ), 1 => array ( 'group_id' => 1, 'group_name' => 'Admin neu', 'role_name' => 'administrator', ), 2 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'president', ), 3 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'president', ), 4 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'Role', ), 5 => array ( 'group_id' => 5, 'group_name' => 'SJAS', 'role_name' => 'Role', ), 6 => array ( 'group_id' => 31, 'group_name' => 'Mitlieder', 'role_name' => 'address manager', ), 7 => array ( 'group_id' => 34, 'group_name' => 'Full member', 'role_name' => 'active member', ), ), )

array ( 'id' => 162, 'email' => '[email protected]', 'first_name' => 'Hamza', 'last_name' => 'Dethloff', 'nickname' => 'Impedit', 'company_name' => 'admin', 'company' => true, 'address' => 'Myliusstr. 29b', 'zip_code' => '74160', 'town' => 'West Hennesstadt', 'country' => 'FR', 'gender' => 'w', 'birthday' => '1998-05-11', 'picture' => '______.png', 'primary_group_id' => 1, 'title' => 'Doktor', 'correspondence_language' => 'fr', 'additional_languages' => 'Französisch, Englisch', 'advertising' => 'none', 'roles' => array ( 0 => array ( 'group_id' => 1, 'group_name' => 'Admin neu', 'role_name' => 'Administrator', ), 1 => array ( 'group_id' => 1, 'group_name' => 'Admin neu', 'role_name' => 'Administrator', ), 2 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'Präsident', ), 3 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'Präsident', ), 4 => array ( 'group_id' => 2, 'group_name' => 'Vorstand', 'role_name' => 'Kassier', ), 5 => array ( 'group_id' => 5, 'group_name' => 'SJAS', 'role_name' => 'Administrator', ), 6 => array ( 'group_id' => 31, 'group_name' => 'Mitlieder', 'role_name' => 'Adressverwaltung', ), 7 => array ( 'group_id' => 34, 'group_name' => 'Full member', 'role_name' => 'Aktivmitglied', ), ), )

Gibt es bereits eine Möglichkeit, die gewünschte Sprache beim Request mitzugeben?

Tschet1 avatar Nov 09 '19 16:11 Tschet1

Ich konnte das Problem leider nicht reproduzieren, bei mir kommt immer die Fallback-Sprache deutsch. Kannst du mehr Details geben unter welchen Umständen es bei dir Englisch kommt?

Der verantwortliche Controller ist momentan nicht konfiguriert, die Request-Sprache zu respektieren. Entsprechend ist es erwartungsgemäss bei mir wirkungslos, die Sprache in der URL des Profile-Endpoints (/fr/oauth/profile) oder im HTTP-Header (Accept-Language: fr) mitzugeben. Es nähme mich daher wunder, wie es trotzdem passieren kann, dass die Sprache vom default abweicht.

carlobeltrame avatar Nov 14 '19 15:11 carlobeltrame

Zum reproduzieren: curl -H "Authorization: Bearer <<TOKEN>>" -H "X-Scope: with_roles" -k https://demo.hitobito.ch/oauth/profile

Dafür habe ich einige Zugangs-Token erstellt und die Anfrage mehrfach ausgeführt. 9/10 Anfragen gaben eine deutsche Antwort. Die 10. Anfrage gab eine englische Antwort (mit dem gleichen token).

Tschet1 avatar Nov 14 '19 19:11 Tschet1

Wurde das mit https://github.com/hitobito/hitobito/pull/941 behoben?

Michael-Schaer avatar Jun 02 '20 15:06 Michael-Schaer