Conversation
caro3801
left a comment
There was a problem hiding this comment.
Looks good to me ! The design is neat
I added a suggestion to improve the error display in the form and improve design consistency by reporting the changes to other design platforms.
| <li class="list-inline-item error__container__links__item error__container__links__item--logout"> | ||
| <a | ||
| :href="logoutLink" | ||
| target="_blank" |
| v-if="error" | ||
| class="login-card-form__error alert alert-danger mb-0" | ||
| > | ||
| {{ t('login.error') }} |
There was a problem hiding this comment.
What kind of error is expected ? (short? long?)
suggestion: general errors would be better placed at the bottom of the form to avoid inputs to move or maybe, keep a blank space when there are no error so the UI don't move
There was a problem hiding this comment.
Only "username or password is invalid" is support so far. I follow your suggestion and move it down!
| </template> | ||
|
|
||
| <style scoped lang="scss"> | ||
| .login-card { |
There was a problem hiding this comment.
thoughs: Login is a special page, it could be interesting to add it in the design system (storybook and figma @Soliine )
This PR introduces support for form-based authentication in the login flow. When the server is configured with
FormAuthFilter, users are presented with a credential form instead of the default SSO redirect layout.See ICIJ/datashare#2083
Changes
LoginCardFormpresentational component with username/password fields for form-based loginLoginCardcomponent that wraps the login form in a side-by-side card layout (illustration + form panel)LoginWelcomecomponent that preserves the existing SSO-based login layoutLoginview conditionally rendersLoginCardorLoginWelcomebased on theauthFilterconfig valueloadUserinCore.loadSettings, ensuringauthFilteris available even when auth fails during bootgetUserPermissionsnon-fatal inCore.loadUser, falling back to empty policies on failurecheckUserProjects(foo->title)history.stateexplicitly in the error routedatashare.routerinstead ofvm.$routerinmain.js("$router" no longer exists).target="_blank"from the logout link in the Error viewPreview
Enregistrement.de.l.ecran.2026-03-26.a.14.55.38.mov