* Created explicit endpoints returning the login image instead of leaking the configuration. Thereby some hardcoded values have been changed, but the url will now be the same every time.
* Remove magic concatenation for action lookup
* remove unused backoffice asset (login.jpg)
* remove unused umbraco logo assets
* add manifest handlers
* add mock handlers for the `security/back-office/graphics` endpoints to the backoffice
* add mock handlers for the `security/back-office/graphics` endpoints to the login screen
* chore: update msw service worker
* feat: make static assets available for consumption without copying them from the login project
* update consts with new location for static assets
* feat: prefix login assets with `login-`
* remove unused asset `logo.png`
* feat: introduce a `/back-office/graphics/logo` endpoint to serve the logo "mark" used throughout all applications
* feat: use the alternative logo for disabled javascript warning
* feat: use the umbraco logo on the NoNodes.cshtml page
* Do not expose the new readme in the package
* feat: add logo.svg
* feat: add `umb-app-logo` element to display the backoffice logo including server url and appropriate tags
* feat: use the new `umb-app-logo` element relevant places and make sure to add the serverUrl in front of other graphics
* feat: move logic to connectedCallback to prevent error from non-existing element
* revert usage of HideBackOfficeLogo
* feat: add alt text to logos
* feat: add obsolete message and a hint to use BackOfficeLogo insted
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* build(deps): bump storybook from 8.3.5 to 8.4.4
* reenable public folder (with msw file) for storybook
* build(deps-dev): bump vite from 5.4.6 to 5.4.11
* build(deps-dev): bump babel and rollup
* build(deps-dev): bump typedoc from 0.26.5 to 0.26.11
* build(deps-dev): bump @hey-api/openapi-ts from 0.52.11 to 0.55.3
regenerated all models and migrated the config
* build(deps-dev): bump eslint from 9.7.0 to 9.14.0 including related deps
* build(deps-dev): bump all @types packages
* build(deps-dev): bump lucide to 0.459.0 and simple-icons to 13.16.0
regenerate icons:
- renamed `box-select` to `square-dashed`
* build(deps): bump marked from 14.1.0 to 15.0.0
* build(deps): bump monaco-editor from 0.50.0 to 0.52.0
* build(deps): bump dumpurify from 3.1.6 to 3.2.0
* build(deps): make changes based on the dompurify upgrade where types are now an inherent part of the package
* build(deps): bump diff from 5.2.0 to 7.0.0
* build(deps): bump element-internals-polyfill from 1.3.11 to 1.3.12
* build(deps): bump lit from 3.2.0 to 3.2.1
* build(deps-dev): bump globals from 15.8.0 to 15.12.0 (eslint dependency)
* build(deps-dev): bump storybook dependencies
* build(deps-dev): bump @web/dev-server deps
* build(deps-dev): bump typescript from 5.5.3 to 5.6.3
* build(deps): bump uuid from 10.0.0 to 11.0.3 thereby eliminating the @types/uuid module
* build(deps): bump tinymce-i18n from 24.7.15 to 24.11.11
* build(deps): bump all deps to latest and use backoffice global types for extension manifests
* chore: change import path
* build(deps-dev): bump rollup/plugin-commonjs to 26.0.3 for compatibility reasons
* feat: replace outdated 'webworker-loader' with manual paths to monaco's web workers since they are esmodules anyway
* build(deps-dev): bump storybook from 8.4.4 to 8.4.5
* build(deps): bump tiptap from 2.9.1 to 2.10.2
* build(deps): bump dompurify from 3.2.0 to 3.2.1
* build(deps): bump tinymce-i18n from 24.11.11 to 24.11.25
* build(deps): bump static icons
* build(deps): bump marked from 15.0.0 to 15.0.2
* build(deps-dev): bump eslint + deps
* build(deps-dev): bump vite + rollup dependencies
* build(deps-dev): bump @playwright/test from 1.48.2 to 1.49.0
* build(deps-dev): bump @hey-api/openapi-ts from 0.55.3 to 0.57.1
generated new services
* build(deps-dev): bump @types/mocha
* build(deps): bump typescript from 5.6.3 to 5.7.2
* bump from es2020 to es2022 for better javascript support
* remove the hardcoded "paths" in tsconfig and replace with the backoffice package
* import uui-css to have styling on the dev server
* change endpoint mock url
* cleanup unused code
* remove the temp login screen
* set login build back to esm
* convert razor entrypoint to show new login screen
* enable loading a user defined stylesheet that can be overridden through RCL mechanics
* remove unused file
* for now, remove the call to the old `localizedtext` endpoint until a replacement has been built
* add fallback font
* remove login to the old backoffice
* change models for twoFactorView
* Send view that have to be used for 2fa.
* get 2fa providers from the login call directly
* Return 2fa providers
* map enabledTwoFactorProviderNames to the view
* use correct endpoints for 2fa
* Send link
* change key to id in querystring
* improve localization
* merge authUrl
* Added flow query parameter
* remove unused getter
* remove debug info
* fix fallback value
* fallback value
* Added invite url to email
* Clean up
* Added password configuration to the verify responses, so the client knows, and have confirmed the user is allwed to see it
* allow reset password
* Allow anonymous on invite create password
* open api
* check for invite
* fix fallback text
* validate invite token
* try to extract the problem details object
* add error logging
* fix invite user parameters
* Use correct id for performing user
* Allow password reset on yourself without the old password, if you are currently invited
* hardcode the authorize endpoint url for now
* fix handlers and disable icons for now
* import icons from backoffice client
* add backoffice path to icons
* fix handler for 2fa custom view
* update image temporarily
* remove old icon registry
* convert login components to UmbLitElement
* convert `UmbAuthContext` into a real context with a token
* cleanup dependencies
* optimise vite
* remove lit
* optimise external login component loader
* use generated resources for reset password
* use generated resources for all methods
* import and register the main bundle
* register localization
* change localization keys
* update all localization keys to new format
* replace tokens
* copy code
* added danish translations
* convert to lowercase
* all languages should have same weight
* added german translations
* add missing variable
* missing text
* added dutch translations
* added swedish translations
* added norwegian translations
* add temporary fix so the login app can be built
* make sure BuildLogin is run only after BuildBellissima has been run to ensure the dependencies are present on disk
* run the real login build in pipelines
* set vite language to en-us
* optimise msw warnings
* wait a bit before rendering the form so we know everything has been loaded
* Add external login endpoint + move models around
* Allow FORM submissions to the external login endpoint
* rename `IdentityProvider` back to `Provider` to avoid a breaking change from V13
* type in url for login-external manually (for now) since route attributes are no longer a thing
* move GET back to POST for external forms
* load in public manifests on boot of the login screen
* Clean up
* handle the case where an external login provider has disabled local login and show a message instead of the login form
* remove external login providers from the server login screen
* add more translations
* use the friendly greeting for the error layout
* show login form
* add mock handler for public manifest endpoint
* remove the external login layout
* fix test
* Added generic English localization
as a fallback language.
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: leekelleher <leekelleher@gmail.com>
* update dependencies to latest (lit 3, vite 5) and fix related issues
* update ui library to 1.7.1
* mark all backoffice svg icons with fill="currentColor"
* set label on user.html
* revert change to load commonjs version of uui
* revert to load uui
* build login first
* build login assets as iife to support loading inside the backoffice
* update versionSpec to nodejs 20 and avoid specifying minor and patch versions to improve Azure Pipelines stability
* update engines and package lock files
* update helpful displayNames for npm builds
* add retry to counter nodejs.org timeouts
add retryCountOnTaskFailure as suggested on https://developercommunity.visualstudio.com/t/NodeTool0-task-to-install-nodejs-fails/10455454
* implement interface
* add build targets for login screen
* package lock
* move components to pages folder
* load logo and background from property
* styling
* move mocks around
* remove unused vars
* add backoffice handlers
* install rxjs
* add mock data
* add element and context for localization
* mock data
* use umb-localize
* remove the extra logic with check for section_
* change key for login button
* add base to vite environment
* login styling
* cleanup and button styling
* use correct reset url
* change body of reset request
* validate password reset code
* redirect to /login/new on reset password code verify
* add obsolete messages
* remove inline scripts for old backoffice
* remove shadowdom from localize element
* Revert "remove shadowdom from localize element"
This reverts commit 46ae282f7ce9235c15f160d57d54acd5d3378668.
* hook up reset password to api
* rename pages to state as it is not actually used as different pages
* reset password styling
* more styling
* add confirmation page to new password
* set router to firstUpdated to avoid rAF
* set a custom baseUrl on the router to make sure it works without trailing slash
* use route parameters to redirect on the login page to ensure correct escaping
* add server variables
* make sure auth layout uses the provided properties for images
* format
* redirect to code expired page
* add missing properties
* use allowPasswordReset and allowInvite properties in routing and layout
* make ts happy
* cleanup
* init invite page
* hook up usernameIsEmail
* init external login providers
* add mock provider
* add padding to buttons
* replace uui button with normal button
* add external login providers as slot
* add disableLocalLogin property
* add form to external login providers
* remove unused method
* fix build errors
* add attributes for external login
* add custom view to external login
* add new custom icon registry
* attach two icon registries
* use relative paths
* use relative paths
* use main registry instead of providing directly
* add look and color to external login
* implement getIcons() method
* use getIcons() to request icons
* install remixicon to supplement backoffice icons (replacing font-awesome eventually)
* move icon registries to auth element
* Revert "install remixicon to supplement backoffice icons (replacing font-awesome eventually)"
This reverts commit 0c6659d8d9dfe0664314ec6a3acaa8e20cb606ed.
* add icons for common external providers
* add more icons
* remove resetCode hack as it is no longer needed
* add validation to new password
* get gretting from translation file
* add hack to get text left aligned in uui-button
* add custom router
* WIP Use router
* also change the URL during an action
* update login action to redirect to /new when needed
* redirect to login from reset and new if not allowed
* fix new password button href
* use property on login element instead of context
* check for redirect on invite-user
* move fake external login providers to index.html for use in dev server
* allow password reset on dev server
* add look and color
* only set styles for default view buttons
* suppress vite import warning
* check and inform for errors and show 'nothing' if a custom view fails to load
* fix mock path for localizedtext
* fix build errors
* ensure that msw (and all its dependencies) do not end up in the production bundle (saved ~500 KB)
* Revert AngularValueExternalLoginInfoScriptAsync removal
* forward the providerName to custom views
* change default icon
* add button look and color to external login provider options
* add obsolete to ButtonStyle and add a mapper to new values
* add required xml comments
* map external login providers to <umb-login-external />
* fix typo
* only show external login layout if there are slotted children
* pass on name as "provider"
* send externalLoginUrl to custom views
* cleanup
* global import
* hide external logins completely when empty
* cleanup
* setup redirect to invite
* rename pages to name-page
* fix names and paths
* use new password layout for invite and new password
* add comments
* cleanup and use confirmation element
* set parameters after successful verifyinvite
* map display-name and provider-name to the external element
* map display-name
* set up external login to handle correct display- and provider-name with documentation
* add support for disabling local login
* update path to handlers
* add more localization
* add handlers for 2fa
* router should support a factory for component
* push login to ?flow=mfa on 402 codes
* add page to handle 2fa/mfa
* add support for custom routing
* add fallback for welcome greeting
* handle AngularJS silliness
* fix typo
* fix router and replace custom umbroute:statechange event with native pushState
* simplify code and cleanup
* a11y improvements
* you can now navigate to anywhere from anywhere with pushState
* access the "twoFactorView" from the backend
* set the default implemented twoFactorView to NULL
* add initial logic to handle a custom mfa view
* roll back custom pushState changes
* add mocks for 2fa custom view
* use router redirect
* re-enable click url change
* cleanup
* remove debug buttons
* add unsafeHTML to localize element
* load mfa custom views
* load custom view
* improve external login custom views
* using optimisation
* add current culture
* only show mfa page if 402 code has been encountered in same session
* format
* remove unnesesary action
* add new user invite password
* remove console log
* fix getting stuck at new password page if you've triggered custom validity
* unify layouts
* add styling to buttons in error layout
* remove unused css
* add error message to new password page
* add error message to reset password
* add error message to invite page
* fix invite page not being rendered
* cleanup
* add obsolete notice to PostSetInvitedUserPassword
* add request model to set a new password for an invited user
* add new method to handle invited user password
* add get password config api call
* fix password config parameters and add invite call
* get invited user
* get password config
* assign unique guid to login project
* add userId to get password config and use the config as validation
* fix
* add alerts
* fix the new password layout
* auth redirects invite error to error page
* use password config on new password page
* remove console log
* move file and remove unused extension
* make ts happy
* file structure
* rename login-extern to external-login-provider
* update element name
* update dependencies
* export custom-view.element.ts
* remove debug
* use umb-custom-view to load custom views
* build types
* move @umbraco/uui to the login app and import from there in backoffice
* make the ui library and icon registry generally available as exports from the login app
* add mock handler for icons
* cleanup package
* use uui for external login providers in the backoffice
* add imports and enable the backoffice icon registry globally
* disable shadowdom
* default background image
* use undefined
* revert angular values
* remove legacy sys variables
* add logic to handle mfa in an overlay scenario without routing
* add new login screen to replace the overlay when logged in to the backoffice
* update spec to work with locators
* cleanup of legacy context
* ViewData is not always required
* add method to solely return the default view of the backoffice to simply BackofficeController as well as unit tests
* add test for the login view
* cleanup usings
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* remove 'remember me'
* add more contrast to external login divider
* update dependencies
* set "lang" attribute to lowercase
* remove default headline
* localize the "Or" divider and add aria-hidden
* remove Umbraco reference from logo and add aria-hidden
* add aria-hidden to uui-icon inside external login buttons
* format code
* update dependencies
* update dependencies
* add translations to invite user page
* use back to login button
* update localization-context.ts to match api from old LocalizeService in Angular
* add tsc to watch
* formatting
* add missing localizations
* fix a11y issues with muted text
* refresh current user after login
* remove unused variable
* add localization
* add localization for error messages
* remove unused var
* return user after login and set successful auth
* retry request queue after login
* add language keys for failed login
* add language keys for failed login
* render the views without a router so that it works inside a modal in the backoffice
* add autocomplete to reset password fields
* add autocomplete to login screen
* add generic error layout to new-password-page
* new-password-layout should be able to handle with and without username
* update language keys
* check for userId before trying to request invited user
* show error when no invited user is found
* place back-to-login button on all error layouts
* update lockfile
---------
Co-authored-by: Jesper Møller Jensen <26099018+JesmoDev@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>