Linux 软件免费装
Banner图

Open Access SSO

开发者 idgold
更新时间 2026年6月21日 10:25
捐献地址: 去捐款
PHP版本: 8.1 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

login authentication sso single-sign-on saml

下载

2.1.2 2.1.4 2.1.5 2.2.0

详情介绍:

Let your team sign in to WordPress with the company login they already use — one click, no extra password to manage, reset, or chase down. Open Access SSO connects your WordPress site to the identity provider your organisation already runs, so people log in through your trusted corporate sign-in instead of juggling yet another WordPress password. It works with any standard SAML 2.0 identity provider — including Microsoft Entra ID (Azure AD), Okta, OneLogin, Keycloak, ADFS, Shibboleth, and NetIQ Access Manager (now OpenText) — and it's completely free and open-source, with no premium tier, no license key, and no upsell. Everything below is included. Nothing is locked, metered, or "Pro." Why site admins choose it Connect it to your identity provider Control who gets in, and what they see Stay in control after go-live Easy setup, no coding Add your identity provider three ways — upload its metadata XML, paste a metadata URL, or type the details in by hand — then register your site with the IdP using the SP metadata it generates for you. It's all in the WordPress admin. (Developers also get a documented, stable hook API when they want it.) Privacy you can verify The plugin keeps to itself. The only time it reaches out to the network is when you ask it to fetch your IdP's metadata from a URL, plus an optional, off-by-default certificate-rotation check that re-fetches that same address you entered. It never contacts the author or any third party, and every setting stays in your own site's database. The two bundled libraries it relies on (both MIT-licensed) make no network calls at all. Security without the homework Incoming logins are fully validated before anyone is signed in — the plugin checks the digital signature, the sender, the intended audience, expiry, and replay protection, and accepts only strong, modern cryptography by default. Your SP private keys are encrypted at rest, and the public endpoints are guarded against common abuse. Sensible, secure defaults are on out of the box; the deeper knobs are documented for the rare cases you need them. Free and open-source Open Access SSO is licensed GPLv2 or later, with the full source available on Codeberg. There is no premium edition and nothing to buy — what you install is the complete plugin. Its only third-party libraries (xmlseclibs and phpseclib, both MIT-licensed) are bundled and make no network calls. Requirements

安装:

  1. Download the .zip and upload via Plugins → Add New → Upload Plugin, or extract into /wp-content/plugins/open-access-sso/.
  2. Activate through the Plugins menu.
  3. Navigate to Tools → Open Access SSO to configure.
  4. Add an identity provider: upload the IdP metadata XML, paste a metadata URL, or enter the IdP fields manually.
  5. Copy the SP metadata URL shown on the dashboard and register your WordPress site as a Service Provider in your IdP.
  6. Test sign-on using the SSO button on the login page.

屏幕截图:

  • Identity Provider configuration - SAML endpoints, signing certificate, and attribute mapping.
  • Role mapping rules - assign WordPress roles from SAML attribute values.
  • Per-page access control in the editor - restrict by role or require SSO login.

升级注意事项:

2.2.0 Force SSO now blocks native password sign-in and disables XML-RPC + Application Passwords by default (CWE-287), enforced at the auth layer. Recover via OASSO_BYPASS or the bypass key. For a trusted API integration, re-enable Application Passwords or XML-RPC under General Settings. 2.1.5 Security hardening (REST media/search/sitemap, replay, privilege-meta) plus a multi-IdP sign-in fix. Behavior change: SSO auto-creates accounts only when the email comes from the IdP attribute mapping (no NameID/loose-key guessing); set your IdP email mapping if needed. 2.1.4 Security hardening (XML-DoS, decryption algorithm allowlist, admin XSS, CSV-export injection, assertion-expiry) plus RSA-OAEP-SHA-256 encrypted-assertion support (e.g. NetIQ) via bundled phpseclib. Drop-in from 2.1.x; default-on tighteners are met by conforming IdPs. 2.1.2 Security: SSO no longer grants administrator-level roles unless you enable "Allow Administrator-Level Roles via SSO" (General Settings, off by default). If you map an IdP identity or group to an admin role, enable it after upgrading. Re-importing such a config enables it automatically. 2.1.1 SAML signature, Issuer and Audience validation hardened. If SSO fails after upgrading because your IdP omits the AudienceRestriction, disable "Require audience restriction" in Service Provider settings. Upgrading from 2.0.x still needs the export/reinstall/import steps below. 2.1.0 Not a drop-in upgrade (internal prefix changed). Export your config (Tools > Import/Export), delete the old version, install 2.1.0, then re-import. Also rename OAS_BYPASS to OASSO_BYPASS in wp-config and point your IdP ACS/SLO URLs at ?oasso_acs / ?oasso_slo. See changelog. 2.0.4 WordPress.org review compliance and maintenance. No behaviour change; safe drop-in upgrade. 2.0.3 Adds an optional Ko-fi support link in the admin footer. No behaviour change. 2.0.2 Plugin Check polish; no behaviour change. Safe drop-in upgrade. 2.0.1 Fixes Test Connection silently failing for admins whose login is more than ~2 minutes old. Drop-in upgrade; no settings change required. 2.0.0 First public release.

常见问题:

Is it really free?

Yes — completely. There is no premium tier, no license key, and nothing to unlock. Every feature you read about ships in the GPLv2-or-later codebase: role mapping, multi-IdP, access control, the audit log, WooCommerce integration, all of it. The full source is on Codeberg, so you can see exactly what you're installing.

Will it work with my identity provider?

Almost certainly. Open Access SSO speaks standard SAML 2.0, so it works with any standards-compliant identity provider — Microsoft Entra ID (Azure AD), Okta, OneLogin, Keycloak, ADFS, Shibboleth, and NetIQ Access Manager (now OpenText), among others. There's no built-in or default IdP; you bring your own, and you point the plugin at it. The identity-provider setup guide (see Documentation) walks through the common providers step by step.

Do I need to be a developer to set it up?

No. Setup is point-and-click in the WordPress admin. You add your identity provider one of three easy ways — upload its metadata XML file, paste a metadata URL, or type the details in by hand — then copy the SP metadata the plugin generates and register your site with your IdP. No code required for normal use. (If you are a developer, there's a documented, stable hook API waiting for you.)

Is my users' data safe, and does it track anyone?

Yes, and no tracking whatsoever. The plugin has no telemetry, no analytics, no "phone home," and no external CDN. The only time it ever reaches out to the network is when you ask it to fetch your IdP's metadata from a URL — plus an optional, off-by-default certificate-rotation check that re-fetches that same address you entered. It never contacts the plugin author or any third party, and every setting stays in your own site's database. Sign-ins are validated end to end before anyone is let in, and your SP private keys are encrypted at rest. For the full details, see the security & hardening guide in Documentation.

What if SSO locks me out?

You have a built-in emergency way back in. You can either add define( 'OASSO_BYPASS', true ); to wp-config.php to switch off forced SSO entirely, or set a Bypass Secret Key on the dashboard ahead of time and visit /wp-admin/?oasso_bypass_key=YOUR_KEY to get back in without touching any files. The key route is rate-limited per IP address to frustrate brute-force guessing. The troubleshooting guide (see Documentation) covers recovery in detail.

Can I use more than one identity provider?

Yes. Configure as many IdPs as you need under Tools → Open Access SSO → Identity Providers. Your users pick the right one with a button on the login page or via a simple ?idp=slug link.

Can I assign WordPress roles automatically from my IdP?

Yes — that's one of the headline features. Map WordPress roles from the groups or attributes your IdP sends, using exact, contains, or regex matching, with per-IdP rule sets, a default-role fallback, and an option to deny anyone who doesn't match a rule. For safety, SSO won't grant admin-level roles unless you explicitly turn that on, and existing administrator accounts are never auto-linked to an SSO login.

Does it support encrypted logins?

Yes, out of the box — including the modern encryption that some providers (such as NetIQ Access Manager) turn on by default and that stock PHP can't unwrap on its own. The plugin bundles a small MIT-licensed library to handle exactly that, so encrypted sign-in just works where a plain PHP setup would fall short. Encrypted user identifiers are supported too.

Does it work with NetIQ Access Manager?

Yes. NetIQ Access Manager (now part of OpenText) is a standard SAML 2.0 identity provider and is fully supported, including its default encrypted assertions. One clarification: NetIQ Identity Manager (sometimes called "IDM") is a separate user-provisioning product, not a SAML IdP — it's Access Manager that acts as the identity provider here.

Can I keep an eye on certificates and sign-in activity?

Yes. The plugin tracks each IdP's signing-certificate expiry and can warn you before it changes, detecting rotation on a daily or weekly check with your choice of manual, auto-trust, grace-period, or require-approval handling — and you can pin a specific certificate if you want strict change control. A searchable, database-backed audit log records who signed in and when, with CSV export and a retention period you set.

Is this related to the old "OpenSSO" product from Sun or Oracle?

No. Open Access SSO is an independent open-source project. It is not affiliated with, and is not a continuation of, Sun Microsystems' or Oracle's discontinued "OpenSSO" product — the similar name is coincidental.

更新日志:

2.2.0 2.1.5 2.1.4 2.1.2 2.1.1 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0