Move the settings screen to its own top-level menu
Adds an "M365 Login" menu entry with a Microsoft-style icon and one submenu per tab (Connection, Button, Security). The active tab is taken from the URL, kept in the post-save redirect and highlighted in the submenu. Notices are printed explicitly because top-level pages do not include options-head.php. Links, docs and screenshots updated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJxAHYdMfKPoN4koRc4Ci2
This commit is contained in:
parent
8766927123
commit
662756bc75
12 changed files with 664 additions and 576 deletions
|
|
@ -14,709 +14,709 @@ msgstr ""
|
|||
"X-Generator: bin/make-pot.py\n"
|
||||
"X-Domain: m365-login\n"
|
||||
|
||||
#: includes/class-m365-login-admin.php:79 includes/class-m365-login-admin.php:80 includes/class-m365-login-admin.php:315
|
||||
#: includes/class-m365-login-admin.php:81 includes/class-m365-login-admin.php:82 includes/class-m365-login-admin.php:93 includes/class-m365-login-admin.php:382
|
||||
msgid "M365 Login"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:118
|
||||
#: includes/class-m365-login-admin.php:108
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:109
|
||||
msgid "Button"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:110
|
||||
msgid "Security"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:185
|
||||
msgid "M365 Login is active but not connected to Microsoft Entra ID yet."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:120
|
||||
#: includes/class-m365-login-admin.php:187
|
||||
msgid "Open the settings"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:150
|
||||
#: includes/class-m365-login-admin.php:217
|
||||
msgid "Choose button icon"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:151
|
||||
#: includes/class-m365-login-admin.php:218
|
||||
msgid "Use this icon"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:152
|
||||
#: includes/class-m365-login-admin.php:219
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:153 includes/class-m365-login-admin.php:435 includes/class-m365-login-admin.php:713 includes/class-m365-login-admin.php:756
|
||||
#: includes/class-m365-login-admin.php:220 includes/class-m365-login-admin.php:505 includes/class-m365-login-admin.php:783 includes/class-m365-login-admin.php:826
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:154
|
||||
#: includes/class-m365-login-admin.php:221
|
||||
msgid "Testing…"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:155
|
||||
#: includes/class-m365-login-admin.php:222
|
||||
msgid "The tenant could not be reached. Check the tenant ID and the server’s outgoing connections."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:156
|
||||
#: includes/class-m365-login-admin.php:223
|
||||
msgid "No groups found."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:157
|
||||
#: includes/class-m365-login-admin.php:224
|
||||
msgid "Searching…"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:158
|
||||
#: includes/class-m365-login-admin.php:225
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:159 includes/class-m365-login-admin.php:687
|
||||
#: includes/class-m365-login-admin.php:226 includes/class-m365-login-admin.php:757
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:160 includes/class-m365-login-admin.php:218 includes/class-m365-login-admin.php:672
|
||||
#: includes/class-m365-login-admin.php:227 includes/class-m365-login-admin.php:285 includes/class-m365-login-admin.php:742
|
||||
msgid "Save the connection settings first, then search for groups."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:161
|
||||
#: includes/class-m365-login-admin.php:228
|
||||
msgid "Generate a new fallback key on save? The old link stops working."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:162
|
||||
#: includes/class-m365-login-admin.php:229
|
||||
msgid "Generating a 3072-bit key pair, this takes a moment…"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:163
|
||||
#: includes/class-m365-login-admin.php:230
|
||||
msgid "Replace the stored certificate? Sign-in stops working until the new certificate is uploaded to Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:164
|
||||
#: includes/class-m365-login-admin.php:231
|
||||
msgid "Remove the stored certificate when saving? Sign-in with the certificate method stops working."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:176 includes/class-m365-login-admin.php:215 includes/class-m365-login-admin.php:241 includes/class-m365-login-admin.php:273
|
||||
#: includes/class-m365-login-admin.php:243 includes/class-m365-login-admin.php:282 includes/class-m365-login-admin.php:308 includes/class-m365-login-admin.php:340
|
||||
msgid "You are not allowed to do this."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:181
|
||||
#: includes/class-m365-login-admin.php:248
|
||||
msgid "Please enter a valid tenant ID first."
|
||||
msgstr ""
|
||||
|
||||
#. translators: %d: HTTP status code
|
||||
#: includes/class-m365-login-admin.php:195
|
||||
#: includes/class-m365-login-admin.php:262
|
||||
msgid "Microsoft answered with HTTP %d. Is the tenant ID correct?"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %d: HTTP status code
|
||||
#: includes/class-m365-login-admin.php:204
|
||||
#: includes/class-m365-login-admin.php:271
|
||||
msgid "Tenant reachable. The OpenID configuration was loaded successfully."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:227
|
||||
#: includes/class-m365-login-admin.php:294
|
||||
msgid "Microsoft Graph refused the request. Grant the application permission \"GroupMember.Read.All\" (or \"Directory.Read.All\") with admin consent in Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:245
|
||||
#: includes/class-m365-login-admin.php:312
|
||||
msgid "Unknown operation."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:262
|
||||
#: includes/class-m365-login-admin.php:329
|
||||
msgid "Certificate generated and stored. Download the .cer file and upload it in Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:279
|
||||
#: includes/class-m365-login-admin.php:346
|
||||
msgid "No certificate is stored."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:297
|
||||
#: includes/class-m365-login-admin.php:364
|
||||
msgid "You are not allowed to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:316
|
||||
#: includes/class-m365-login-admin.php:383
|
||||
msgid "Let existing users sign in with their Microsoft 365 / Entra ID account."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:321
|
||||
#: includes/class-m365-login-admin.php:388
|
||||
msgid "Connected"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:321
|
||||
#: includes/class-m365-login-admin.php:388
|
||||
msgid "Setup incomplete"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:329
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:330
|
||||
msgid "Button"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:331
|
||||
msgid "Security"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:340
|
||||
#: includes/class-m365-login-admin.php:410
|
||||
msgid "Microsoft Entra ID app registration"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:341
|
||||
#: includes/class-m365-login-admin.php:411
|
||||
msgid "Enter the values from your app registration in the Microsoft Entra admin center."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:344
|
||||
#: includes/class-m365-login-admin.php:414
|
||||
msgid "Directory (tenant) ID"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:347
|
||||
#: includes/class-m365-login-admin.php:417
|
||||
msgid "Test tenant"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:349
|
||||
#: includes/class-m365-login-admin.php:419
|
||||
msgid "Recommended: the GUID of your tenant. Only sign-ins from this tenant are accepted. \"organizations\" allows any work or school account."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:351
|
||||
#: includes/class-m365-login-admin.php:421
|
||||
msgid "Multi-tenant mode: accounts from any Microsoft tenant can sign in. Their \"email\" attribute is not verified, so the plugin matches on the user principal name (verified domain) only and ignores the e-mail claim unless Microsoft marks it as domain-verified. Use the e-mail domain allow-list on the Security tab, or better, pin your tenant GUID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:357
|
||||
#: includes/class-m365-login-admin.php:427
|
||||
msgid "Application (client) ID"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:362
|
||||
#: includes/class-m365-login-admin.php:432
|
||||
msgid "How should WordPress authenticate to Microsoft?"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:367 includes/class-m365-login-admin.php:384
|
||||
#: includes/class-m365-login-admin.php:437 includes/class-m365-login-admin.php:454
|
||||
msgid "Client secret"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:368
|
||||
#: includes/class-m365-login-admin.php:438
|
||||
msgid "Quick to set up. A password-like value created in Entra ID that expires after 6–24 months and must be renewed."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:374
|
||||
#: includes/class-m365-login-admin.php:444
|
||||
msgid "Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:374
|
||||
#: includes/class-m365-login-admin.php:444
|
||||
msgid "Recommended"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:375
|
||||
#: includes/class-m365-login-admin.php:445
|
||||
msgid "The private key never leaves this server; only the public certificate is uploaded to Entra ID. Generated here with one click, valid for 2 years."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:386
|
||||
#: includes/class-m365-login-admin.php:456
|
||||
msgid "•••••••••••• (stored, leave empty to keep)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:386
|
||||
#: includes/class-m365-login-admin.php:456
|
||||
msgid "Paste the secret value"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:387
|
||||
#: includes/class-m365-login-admin.php:457
|
||||
msgid "Show secret"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:392
|
||||
#: includes/class-m365-login-admin.php:462
|
||||
msgid "Remove the stored secret"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:395
|
||||
#: includes/class-m365-login-admin.php:465
|
||||
msgid "Stored encrypted (AES-256-GCM, key derived from your WordPress salts) and never displayed again. Client secrets expire – note the expiry date in Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:399
|
||||
#: includes/class-m365-login-admin.php:469
|
||||
msgid "Step-by-step: create a client secret in Entra ID"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:402
|
||||
#: includes/class-m365-login-admin.php:472
|
||||
msgid "Open entra.microsoft.com and sign in with an account that has the \"Application Administrator\" or \"Global Administrator\" role."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:403
|
||||
#: includes/class-m365-login-admin.php:473
|
||||
msgid "Go to Identity → Applications → App registrations and open your app (or create it first, see the general guide in the sidebar)."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:404
|
||||
#: includes/class-m365-login-admin.php:474
|
||||
msgid "In the left menu choose Certificates & secrets, then the tab Client secrets, and click New client secret."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:405
|
||||
#: includes/class-m365-login-admin.php:475
|
||||
msgid "Enter a description such as \"WordPress login\" and pick an expiry. Microsoft allows at most 24 months; put a reminder in your calendar two weeks before."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:406
|
||||
#: includes/class-m365-login-admin.php:476
|
||||
msgid "Click Add. Copy the Value column immediately – it is shown only once. The Secret ID column is NOT what you need."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:407
|
||||
#: includes/class-m365-login-admin.php:477
|
||||
msgid "Paste the value into the Client secret field above and save this page."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:409
|
||||
#: includes/class-m365-login-admin.php:479
|
||||
msgid "When the secret expires, sign-ins fail with \"Could not complete the sign-in with Microsoft\". Create a new secret, paste it here, save, then delete the old one in Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:422
|
||||
#: includes/class-m365-login-admin.php:492
|
||||
msgid "Expired"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %d: number of days
|
||||
#: includes/class-m365-login-admin.php:426
|
||||
#: includes/class-m365-login-admin.php:496
|
||||
msgid "Expires in %d days"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %d: number of days
|
||||
#: includes/class-m365-login-admin.php:429
|
||||
#: includes/class-m365-login-admin.php:499
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:434
|
||||
#: includes/class-m365-login-admin.php:504
|
||||
msgid "Thumbprint (SHA-1)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:436
|
||||
#: includes/class-m365-login-admin.php:506
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:438
|
||||
#: includes/class-m365-login-admin.php:508
|
||||
msgid "Key size"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:440
|
||||
#: includes/class-m365-login-admin.php:510
|
||||
msgid "Valid until"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:444
|
||||
#: includes/class-m365-login-admin.php:514
|
||||
msgid "Download certificate (.cer)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:445
|
||||
#: includes/class-m365-login-admin.php:515
|
||||
msgid "Generate new certificate"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:448
|
||||
#: includes/class-m365-login-admin.php:518
|
||||
msgid "Remove certificate when saving"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:452
|
||||
#: includes/class-m365-login-admin.php:522
|
||||
msgid "No certificate stored yet."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:454
|
||||
#: includes/class-m365-login-admin.php:524
|
||||
msgid "Generate certificate"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:455
|
||||
#: includes/class-m365-login-admin.php:525
|
||||
msgid "3072-bit RSA, self-signed, valid for 2 years. The private key is stored encrypted and never shown or downloadable."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:459
|
||||
#: includes/class-m365-login-admin.php:529
|
||||
msgid "Use your own certificate instead (paste PEM)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:462
|
||||
#: includes/class-m365-login-admin.php:532
|
||||
msgid "Private key (PEM, unencrypted)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:466
|
||||
#: includes/class-m365-login-admin.php:536
|
||||
msgid "Certificate (PEM)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:468
|
||||
#: includes/class-m365-login-admin.php:538
|
||||
msgid "RSA, at least 2048 bits. The pair is validated and the key is encrypted when you save. Both fields stay empty afterwards."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:474
|
||||
#: includes/class-m365-login-admin.php:544
|
||||
msgid "Step-by-step: register the certificate in Entra ID"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:477
|
||||
#: includes/class-m365-login-admin.php:547
|
||||
msgid "Click Generate certificate above (or paste your own). Then click Download certificate (.cer) – the file contains only the public part."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:478
|
||||
#: includes/class-m365-login-admin.php:548
|
||||
msgid "Open entra.microsoft.com → Identity → Applications → App registrations and open your app."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:479
|
||||
#: includes/class-m365-login-admin.php:549
|
||||
msgid "Choose Certificates & secrets in the left menu, then the tab Certificates, and click Upload certificate."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:480
|
||||
#: includes/class-m365-login-admin.php:550
|
||||
msgid "Select the downloaded .cer file, add a description such as \"WordPress login\" and click Add."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:481
|
||||
#: includes/class-m365-login-admin.php:551
|
||||
msgid "Compare the thumbprint Entra ID shows with the thumbprint above – they must match exactly."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:482
|
||||
#: includes/class-m365-login-admin.php:552
|
||||
msgid "Make sure Certificate is selected above and save this page. If a client secret was stored before, you may delete it in Entra ID now."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:484
|
||||
#: includes/class-m365-login-admin.php:554
|
||||
msgid "How it works: for every token request WordPress signs a short-lived JWT (client assertion) with the private key; Microsoft verifies it with the uploaded certificate. Nothing secret is ever transmitted."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:485
|
||||
#: includes/class-m365-login-admin.php:555
|
||||
msgid "Before the certificate expires: generate a new one here, upload it to Entra ID (both may be registered at the same time), save, then remove the old one from Entra ID. Sign-ins keep working during the switch."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:491
|
||||
#: includes/class-m365-login-admin.php:561
|
||||
msgid "Account prompt"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:493
|
||||
#: includes/class-m365-login-admin.php:563
|
||||
msgid "Always let the user pick an account (recommended)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:494
|
||||
#: includes/class-m365-login-admin.php:564
|
||||
msgid "Use the current Microsoft session if available"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:495
|
||||
#: includes/class-m365-login-admin.php:565
|
||||
msgid "Always require re-entering credentials"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:504
|
||||
#: includes/class-m365-login-admin.php:574
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:507
|
||||
#: includes/class-m365-login-admin.php:577
|
||||
msgid "Live preview"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:521
|
||||
#: includes/class-m365-login-admin.php:591
|
||||
msgid "Button text"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:525
|
||||
#: includes/class-m365-login-admin.php:595
|
||||
msgid "Divider text"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:527
|
||||
#: includes/class-m365-login-admin.php:597
|
||||
msgid "Leave empty to hide the divider line."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:532
|
||||
#: includes/class-m365-login-admin.php:602
|
||||
msgid "Icon"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:535
|
||||
#: includes/class-m365-login-admin.php:605
|
||||
msgid "Show an icon on the button"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:546
|
||||
#: includes/class-m365-login-admin.php:616
|
||||
msgid "Default: Microsoft logo"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:548
|
||||
#: includes/class-m365-login-admin.php:618
|
||||
msgid "Choose from media library"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:549
|
||||
#: includes/class-m365-login-admin.php:619
|
||||
msgid "Use Microsoft logo"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:551
|
||||
#: includes/class-m365-login-admin.php:621
|
||||
msgid "PNG, SVG, JPG or WebP. Square images (e.g. 64×64 px) work best."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:559
|
||||
#: includes/class-m365-login-admin.php:629
|
||||
msgid "Background"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:560
|
||||
#: includes/class-m365-login-admin.php:630
|
||||
msgid "Background (hover)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:561
|
||||
#: includes/class-m365-login-admin.php:631
|
||||
msgid "Text colour"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:562
|
||||
#: includes/class-m365-login-admin.php:632
|
||||
msgid "Border"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:575
|
||||
#: includes/class-m365-login-admin.php:645
|
||||
msgid "Corner radius"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:579
|
||||
#: includes/class-m365-login-admin.php:649
|
||||
msgid "Position on the login page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:581
|
||||
#: includes/class-m365-login-admin.php:651
|
||||
msgid "Below the login form"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:582
|
||||
#: includes/class-m365-login-admin.php:652
|
||||
msgid "Above the login form"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:588
|
||||
#: includes/class-m365-login-admin.php:658
|
||||
msgid "Quick presets"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:589
|
||||
#: includes/class-m365-login-admin.php:659
|
||||
msgid "Microsoft dark"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:590
|
||||
#: includes/class-m365-login-admin.php:660
|
||||
msgid "Microsoft light"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:591
|
||||
#: includes/class-m365-login-admin.php:661
|
||||
msgid "Azure blue"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:592
|
||||
#: includes/class-m365-login-admin.php:662
|
||||
msgid "WordPress blue"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:596
|
||||
#: includes/class-m365-login-admin.php:666
|
||||
msgid "Custom login page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:597
|
||||
#: includes/class-m365-login-admin.php:667
|
||||
msgid "Using your own login page instead of wp-login.php? Tell the plugin where it is so error messages, the fallback link and the post-logout redirect point there."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:600
|
||||
#: includes/class-m365-login-admin.php:670
|
||||
msgid "URL of your login page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:602
|
||||
#: includes/class-m365-login-admin.php:672
|
||||
msgid "Must be on this site. Leave empty to use wp-login.php."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:608
|
||||
#: includes/class-m365-login-admin.php:678
|
||||
msgid "Add the button to every wp_login_form() form automatically"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:609
|
||||
#: includes/class-m365-login-admin.php:679
|
||||
msgid "Covers themes and plugins that use the WordPress login form function. Page-builder widgets need the shortcode or the template function below."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:614
|
||||
#: includes/class-m365-login-admin.php:684
|
||||
msgid "Manual placement"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:615
|
||||
#: includes/class-m365-login-admin.php:685
|
||||
msgid "Shortcode (block editor, page builders):"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:617
|
||||
#: includes/class-m365-login-admin.php:687
|
||||
msgid "Template function (theme files):"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:619
|
||||
#: includes/class-m365-login-admin.php:689
|
||||
msgid "Both show the error messages of the last attempt; use m365_login_messages() to place them separately."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:627
|
||||
#: includes/class-m365-login-admin.php:697
|
||||
msgid "User matching & hardening"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:628
|
||||
#: includes/class-m365-login-admin.php:698
|
||||
msgid "Users are never created automatically. A Microsoft sign-in only succeeds when a WordPress user with the same e-mail address already exists."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:633
|
||||
#: includes/class-m365-login-admin.php:703
|
||||
msgid "Bind WordPress accounts to the Microsoft object ID"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:634
|
||||
#: includes/class-m365-login-admin.php:704
|
||||
msgid "On first sign-in the immutable Microsoft object ID is stored with the user. Later sign-ins with the same e-mail but a different Microsoft identity are rejected. Strongly recommended."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:641
|
||||
#: includes/class-m365-login-admin.php:711
|
||||
msgid "Fall back to the user principal name (UPN)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:642
|
||||
#: includes/class-m365-login-admin.php:712
|
||||
msgid "If the token contains no \"email\" claim, use the UPN (e.g. jane@contoso.com) when it is a valid e-mail address. Usually required for work accounts."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:649
|
||||
#: includes/class-m365-login-admin.php:719
|
||||
msgid "Keep users signed in (\"Remember me\")"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:650
|
||||
#: includes/class-m365-login-admin.php:720
|
||||
msgid "Issues a 14-day WordPress session instead of a browser session."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:655
|
||||
#: includes/class-m365-login-admin.php:725
|
||||
msgid "Allowed e-mail domains (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:657
|
||||
#: includes/class-m365-login-admin.php:727
|
||||
msgid "One or more domains separated by commas or new lines. Leave empty to allow any domain of your tenant."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:662
|
||||
#: includes/class-m365-login-admin.php:732
|
||||
msgid "Allowed Entra groups (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:663
|
||||
#: includes/class-m365-login-admin.php:733
|
||||
msgid "Only members of at least one of these groups may sign in. Leave empty to allow every matched user. Nested memberships count."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:666
|
||||
#: includes/class-m365-login-admin.php:736
|
||||
msgid "Search groups"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:668
|
||||
#: includes/class-m365-login-admin.php:738
|
||||
msgid "Type a group name or paste an object ID…"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:669
|
||||
#: includes/class-m365-login-admin.php:739
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:674
|
||||
#: includes/class-m365-login-admin.php:744
|
||||
msgid "Needs the application permission \"GroupMember.Read.All\" with admin consent. Without it you can still paste group object IDs."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:680
|
||||
#: includes/class-m365-login-admin.php:750
|
||||
msgid "Selected groups"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:681
|
||||
#: includes/class-m365-login-admin.php:751
|
||||
msgid "No groups selected – every matched user may sign in."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:691
|
||||
#: includes/class-m365-login-admin.php:761
|
||||
msgid "Membership is read from the \"groups\" claim of the ID token when present; otherwise the plugin asks Microsoft Graph (application permission \"User.Read.All\" or \"Directory.Read.All\"). If neither works, the sign-in is refused."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:696
|
||||
#: includes/class-m365-login-admin.php:766
|
||||
msgid "Button-only mode"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:697
|
||||
#: includes/class-m365-login-admin.php:767
|
||||
msgid "Hides the username/password fields (on wp-login.php and in wp_login_form() forms) and refuses every interactive password sign-in on the site, including custom login forms. Application passwords, REST, XML-RPC and WP-CLI are not affected."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:702
|
||||
#: includes/class-m365-login-admin.php:772
|
||||
msgid "Show only the Microsoft button on the login page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:703
|
||||
#: includes/class-m365-login-admin.php:773
|
||||
msgid "Becomes active once the connection is configured. Make sure your own account can sign in via Microsoft before enabling this."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:708
|
||||
#: includes/class-m365-login-admin.php:778
|
||||
msgid "Fallback link (keep it secret)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:709
|
||||
#: includes/class-m365-login-admin.php:779
|
||||
msgid "Opening this link shows the password form again in that browser for 30 minutes and allows password sign-in there. Bookmark it somewhere safe – it is your way back in if Microsoft sign-in ever breaks."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:717
|
||||
#: includes/class-m365-login-admin.php:787
|
||||
msgid "Generate a new key when saving"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:720
|
||||
#: includes/class-m365-login-admin.php:790
|
||||
msgid "A key is generated automatically the first time you save these settings."
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: PHP constant
|
||||
#: includes/class-m365-login-admin.php:726
|
||||
#: includes/class-m365-login-admin.php:796
|
||||
msgid "Emergency switch: add %s to wp-config.php to disable button-only mode entirely."
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: PHP constant
|
||||
#: includes/class-m365-login-admin.php:735
|
||||
#: includes/class-m365-login-admin.php:805
|
||||
msgid "What the plugin does to keep sign-ins safe"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:737
|
||||
#: includes/class-m365-login-admin.php:807
|
||||
msgid "OpenID Connect authorization code flow with PKCE (S256) – no tokens ever pass through the browser."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:738
|
||||
#: includes/class-m365-login-admin.php:808
|
||||
msgid "Single-use state and nonce values bound to the browser via an HttpOnly cookie (CSRF and replay protection)."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:739
|
||||
#: includes/class-m365-login-admin.php:809
|
||||
msgid "ID token signature verified against Microsoft’s published signing keys; issuer, audience, tenant, expiry and nonce are checked."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:740
|
||||
#: includes/class-m365-login-admin.php:810
|
||||
msgid "Client secret encrypted at rest; no accounts are created, no passwords are changed."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:746
|
||||
#: includes/class-m365-login-admin.php:816
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:752
|
||||
#: includes/class-m365-login-admin.php:822
|
||||
msgid "Redirect URI"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:753
|
||||
#: includes/class-m365-login-admin.php:823
|
||||
msgid "Register this URI in your app registration under Authentication → Web → Redirect URIs:"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:759
|
||||
#: includes/class-m365-login-admin.php:829
|
||||
msgid "Plain permalinks are active, so the callback uses a query string. If you enable pretty permalinks later, the redirect URI changes and must be updated in Entra ID."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:762
|
||||
#: includes/class-m365-login-admin.php:832
|
||||
msgid "Your site does not use HTTPS. Microsoft only accepts http:// redirect URIs for localhost; production sites must use HTTPS."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:767
|
||||
#: includes/class-m365-login-admin.php:837
|
||||
msgid "Setup guide: app registration"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:769
|
||||
#: includes/class-m365-login-admin.php:839
|
||||
msgid "Open entra.microsoft.com → Identity → Applications → App registrations → New registration."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:770
|
||||
#: includes/class-m365-login-admin.php:840
|
||||
msgid "Name: e.g. \"WordPress login\". Supported account types: \"Accounts in this organizational directory only\" (single tenant)."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:771
|
||||
#: includes/class-m365-login-admin.php:841
|
||||
msgid "Redirect URI: choose the platform Web and paste the URI shown above. Then click Register."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:772
|
||||
#: includes/class-m365-login-admin.php:842
|
||||
msgid "On the Overview page copy the Application (client) ID and the Directory (tenant) ID into the Connection tab."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:773
|
||||
#: includes/class-m365-login-admin.php:843
|
||||
msgid "Authentication: leave \"ID tokens\" unchecked (the plugin uses the authorization code flow) and \"Allow public client flows\" on No."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:774
|
||||
#: includes/class-m365-login-admin.php:844
|
||||
msgid "Token configuration → Add optional claim → ID → tick \"email\" → Add. Confirm the API permission prompt."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:775
|
||||
#: includes/class-m365-login-admin.php:845
|
||||
msgid "Pick the authentication method on the Connection tab and follow its step-by-step guide (client secret or certificate)."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:776
|
||||
#: includes/class-m365-login-admin.php:846
|
||||
msgid "Optional: restrict who may use the app under Enterprise applications → your app → Properties → \"Assignment required\" = Yes, then assign users/groups."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:778
|
||||
#: includes/class-m365-login-admin.php:848
|
||||
msgid "Required API permission: openid, profile, email (delegated) – granted by default."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:779
|
||||
#: includes/class-m365-login-admin.php:849
|
||||
msgid "Optional, for group restrictions: application permissions GroupMember.Read.All and User.Read.All (Microsoft Graph) with admin consent."
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:783
|
||||
#: includes/class-m365-login-admin.php:853
|
||||
msgid "Shortcode"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:784
|
||||
#: includes/class-m365-login-admin.php:854
|
||||
msgid "Place the button on a custom login page:"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-m365-login-admin.php:786
|
||||
#: includes/class-m365-login-admin.php:856
|
||||
msgid "More options on the Button tab under \"Custom login page\"."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue