-
Notifications
You must be signed in to change notification settings - Fork 2
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
Feature: SOFIA-local accounts with login (with optional 2fa) #925
base: staging
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## staging #925 +/- ##
===========================================
+ Coverage 75.17% 77.13% +1.95%
===========================================
Files 55 59 +4
Lines 1116 1369 +253
===========================================
+ Hits 839 1056 +217
- Misses 277 313 +36 ☔ View full report in Codecov by Sentry. |
Kan de emails voor account activatie en wachtwoord resetten die daadwerkelijk worden verstuurd niet inzien, want sidekiq weigert lokaal te draaien door een deprecation, zie hieronder. Kan wel de globale preview zien met de url
|
A I see, there are a couple more deprecation issues I will have a look if i can fix a couple in a PR. Are you going to look into fixing this issue or should I look into it, Update, I have gotten the error go away using config.load_defaults 7.0 in aplication.rb |
TODO: merge conflicts met staging oplossen en RuboCop linting errors oplossen |
Fixes #923.
Streepsysteem account aanmaken
Bij gebruikers kan iemand met de rol treasurer streepsysteem gebruikers inzien en aanmaken:
Nieuwe gebruiker aanmaken scherm (precies hetzelfde scherm als voor aanmaken van handmatige gebruikers):
Wanneer de treasurer een streepsysteem gebruiker aanmaakt, wordt het ingevulde emailadres gemaild met de volgende mail:
Als de persoon dan op de activatielink klikt (
/sofia_accounts/activate_account?activation_token=activation_token&user_id=user_id
), ziet hij dit (zonder de icoontjes van mijn KeypassXC):Als hij dat invult en drukt op activeren dan wordt een SofiaAccount object aangemaakt, waar de username, password_digest en aanmaak-datum worden opgeslagen. Hij wordt dan ook meteen aan de user gelinkt waar die bij hoort. Als de user wordt verwijderd, wordt ook de SofiaAccount verwijdert.
Na activatie ziet de persoon dit:
Instellingen van login
Met de instellingen knop kan de persoon zijn user- en inlog-instellingen wijzingen, zoals de gebruikersnaam, email, wachtwoord, en 2FA instellen (zelfde 2FA menu als op AMBER)
Login pagina
Op de login pagina kan je nu kiezen om in te loggen met een streepsysteem account:
Dan krijg je deze inlog pagina:
Als je 2FA hebt aangezet, krijg je daarna nog een pagina waar je de token moet invullen.
Wachtwoord vergeten
Als je drukt op "wachtwoord vergeten?" krijg je de volgende pagina:
Als je je gegevens invult krijg je een email op het emailadres gelinkt aan de user:
Als je op de link klikt kom je op het volgende scherm, waar je een nieuw wachtwoord instellen:
Als je dat niet binnen 1 dag doet, verloopt de activatiecode. Na het verlopen, moet ze zelf weer op "wachtwoord vergeten?" klikken op de inlog pagina
Resetten van activatie token
Voor het activeren van een nieuw account heeft een user 5 dagen, daarna is de link verlopen. Maar in de activatiemail staat een 2e link, en als je daar op klikt dan wordt er een nieuwe activatielink gemaakt die vanaf dan 1 dag geldig is, en die wordt naar hetzelfde emailadres gemailt:
Deactiveren user
Wanneer een treasurer een user deactiveerd kan die user niet meer inloggen met zijn gelinkte streepsysteem account. Het streepsysteem account blijft wel bestaan, want als de user weer wordt geactiveerd dan moet die wel weer kunnen inloggen.
Technische details
SofiaAccount
waar logingegevens in worden opgeslagen. Deze is altijd gelinkt aan eenUser
en wordt verwijdert wanneer de user wordt verwijdert.callback_controller
staat de logica van het inloggen met een streepsysteem account.omniauth-identity
gebruikt om dit zo te maken.