hitobito_pbs
hitobito_pbs copied to clipboard
API Service Token alle Mailadressen
Danke für die Implementierung der Service Token.
Wenn ich via Service Token eine Person auslese, erhalte ich nur die öffentlichen Mailadressen. Unsere Abteilung möchte die Mailadressen unserer Kinder aus Datenschutz-Gründen nicht öffentlich machen, aber für den Versand unseres Newsletters würden wir gerne alle Versandadressen auslesen können. Dies ist leider mit den Service Tokens nicht möglich. Gibt es dafür einen speziellen Grund? Wir haben auch bemerkt, dass das Geschlecht und das Geburtsdatum fehlen.
Hoi Tschet! Was du beobachtest sind zwei verschiedene Probleme. Beide könnten durch mehr Zugriffsrechte in https://github.com/hitobito/hitobito/blob/master/app/abilities/token_ability.rb gelöst werden. Bevor das aber geschieht muss wohl mit allen Stakeholdern abgeklärt werden, ob diese Ausweitung der Zugriffsrechte aus Datenschutz-Sicht zulässig ist. Ich kann dir leider nicht beantworten, ob der aktuelle Stand einen spezifischen Grund hatte, aber er wurde von allen involvierten Stakeholdern so abgenommen. Soweit ich sehe existieren aber keine Specs, die diese Änderung explizit verbieten.
- Die nicht-öffentlichen Mailadressen könnten erlaubt werden indem man den letzten Teil von
token_ability#define_person_abilities
folgendermassen abändert:
can [:index_people, :index_full_people], Group do |g|
groups.include?(g)
end
- Dass birthday, gender und weitere Details zu einer Person fehlen, wurde schon in einem Kommentar auf dem ursprünglichen Issue durch @MrTinnysis bemerkt, aber damals nicht weiter verfolgt. Diese Details könnten mit folgender zusätzlicher ability in
token_ability#define_person_abilities
erlaubt werden:
can :show_details, Person do |p|
Role.where(person: p, group: groups).present? &&
Ability.new(token.dynamic_user).can?(:show_details, p)
end
Die Details (birthday und gender) tauchen dann auf wenn man eine einzelne Person via API abruft, aber nicht in der Personen-Liste einer Gruppe. Dies ist auch schon so programmiert, das einzige was fehlt ist die Ability. Somit stellt sich für mich die Frage, ob das wirklich so gemeint war.
Der Teil mit Geschlecht und Geburtsdatum wurde inzwischen an einem PBS Hackathon in hitobito/hitobito#1866 umgesetzt und ist jetzt auf der Integrationsumgebung aufgeschaltet. Auf die MiData Produktion müsste das mit dem nächsten Release (vermutlich nächste Woche) kommen. Die nicht-öffentlichen weiteren Mailadressen fehlen weiterhin in der API.