Adding buttons to backoffice login screen

I have been playing with Passkeys, I have got this working on the frontend with Members, I also wanted to do this with the backoffice.

How can I add a button to the login screen, where the SSO buttons appear to handle this, like what do I hook into?

Thanks!

Not sure if it’s the same thing, but docs has these examples

Not quite, I know how to register OIDC providers to add buttons, in this case I want to add a custom button which is not an OIDC provider

AFAIK there is no way - the component there is locked down without extension points. The actual component is also tied down as it’s using the new UUI with shadow dom.

You could do something with an on-load script that looks for the form and injects some markup. Something like:

$(window).on('load',
    () => {
      
        function injectHtml() {
			if($('#umb-login-form').length > 0){
				$('#umb-login-form').append('<div>something</div>');
			} else {
				setTimeout(injectHtml, 1000);
			}
        };

        injectHtml();
    }
);

and then just register it in a package.manifest

{
  "name": "InjectHtmlPackage",
  "version": "1.0.0",
  "javascript": [
    "~/App_Plugins/PluginPath/scripts/script.js"
  ]
}

I did something similar for checking when the user was on a content page in my package.