Support custom login pages
- Add the button (and error messages) to every wp_login_form() form via login_form_top/login_form_bottom; in button-only mode the password fields are wrapped and hidden there. - New template functions m365_login_button() and m365_login_messages(); the shortcode gains divider and messages attributes. - New setting for the custom login page URL: failed sign-ins, the fallback link and the logout redirect point there instead of wp-login.php. Must be a same-site URL. - Button-only mode now blocks every interactive password sign-in through the authenticate filter, not only wp-login.php; XML-RPC, REST, WP-CLI and cron are exempt, plus a filter for trusted exceptions. - Fallback key accepted on any page (init) instead of login_init only. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJxAHYdMfKPoN4koRc4Ci2
This commit is contained in:
parent
e5db0d49be
commit
701e85ab88
15 changed files with 804 additions and 300 deletions
|
|
@ -22,7 +22,7 @@ The plugin is deliberately small and strict:
|
|||
* **Entra group restriction.** Search and pick the groups whose members may sign in, right in the settings screen. Membership is checked via the ID token's `groups` claim or Microsoft Graph (nested groups included).
|
||||
* **Button-only mode.** Hide the username/password form and refuse password sign-ins on the login page. A secret fallback link (and a `wp-config.php` constant) brings the form back when you need it.
|
||||
* **Clean settings screen** with a copy-and-paste redirect URI, a tenant connectivity test and a five-step setup guide.
|
||||
* **Shortcode** `[m365_login_button]` for custom login pages.
|
||||
* **Custom login pages.** The button is added to every `wp_login_form()` form automatically; a shortcode and a template function cover page builders and theme templates. Point the plugin at your login page and error messages, the fallback link and the post-logout redirect go there instead of wp-login.php.
|
||||
|
||||
= Security =
|
||||
|
||||
|
|
@ -43,6 +43,7 @@ The plugin is deliberately small and strict:
|
|||
* `m365_login_match_email` – filter the e-mail address used for the lookup.
|
||||
* `m365_login_allow_user` – filter, return `false` to block a matched user (e.g. group checks).
|
||||
* `m365_login_success` – action after a successful sign-in, receives the user and verified claims.
|
||||
* `m365_login_block_password_login` – filter, return `false` to exempt a password sign-in from button-only mode.
|
||||
|
||||
== External services ==
|
||||
|
||||
|
|
@ -104,7 +105,7 @@ Open the fallback link shown on the Security tab (`wp-login.php?m365_fallback=KE
|
|||
|
||||
= Does it work with custom login pages? =
|
||||
|
||||
Yes, use the shortcode `[m365_login_button redirect="/dashboard/"]`.
|
||||
Yes. Forms rendered with `wp_login_form()` get the button automatically. For page builders use the shortcode `[m365_login_button redirect="/dashboard/" divider="yes"]`, in theme templates call `m365_login_button()`. Enter the page's URL on the Button tab so error messages and the fallback link point there. Button-only mode blocks password sign-ins from custom forms as well.
|
||||
|
||||
= Does it support multisite? =
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue