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

API Service Token alle Mailadressen #117

Open
Tschet1 opened this issue Oct 28, 2019 · 2 comments
Open

API Service Token alle Mailadressen #117

Tschet1 opened this issue Oct 28, 2019 · 2 comments

Comments

@Tschet1
Copy link
Contributor

Tschet1 commented Oct 28, 2019

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.

@carlobeltrame
Copy link
Member

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.

@carlobeltrame
Copy link
Member

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.

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

No branches or pull requests

2 participants