{"id":281759,"date":"2026-02-18T05:15:11","date_gmt":"2026-02-18T05:15:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/glueup-membership-login-bridge\/"},"modified":"2026-04-28T12:44:25","modified_gmt":"2026-04-28T12:44:25","slug":"bigambitions-glueup-bridge","status":"publish","type":"plugin","link":"https:\/\/en-au.wordpress.org\/plugins\/bigambitions-glueup-bridge\/","author":12750263,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"BigAmbitions Membership & Login Bridge for GlueUp","header_author":"Big Ambitions","header_description":"Professional membership validator and login bridge for organizations using the GlueUp platform.","assets_banners_color":"","last_updated":"2026-04-28 12:44:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/bigambitions.co.za\/","header_author_uri":"https:\/\/bigambitions.co.za\/our-team\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":286,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"divemasterza","date":"2026-02-18 05:18:46"},"1.1.1":{"tag":"1.1.1","author":"divemasterza","date":"2026-04-28 12:44:25"}},"upgrade_notice":{"1.1.1":"<p>Bug fix: resolves login redirect loop on sites using Elementor or other plugins that output content before the login form renders.<\/p>","1.1.0":"<p>Security hardening and menu placement improvements as per review guidelines.<\/p>","1.0.0":"<p>Initial public release with trademark-compliant naming and security improvements.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The settings dashboard where you configure your API keys.","2":"The user-facing login form generated by the shortcode.","3":"Successful login state showing the welcome message."}},"plugin_section":[],"plugin_tags":[710,14236,597,602,1932],"plugin_category":[38,58],"plugin_contributors":[256073],"plugin_business_model":[],"class_list":["post-281759","plugin","type-plugin","status-publish","hentry","plugin_tags-authentication","plugin_tags-bridge","plugin_tags-integration","plugin_tags-login","plugin_tags-membership","plugin_category-authentication","plugin_category-user-management","plugin_contributors-divemasterza","plugin_committers-divemasterza"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bigambitions-glueup-bridge.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>BigAmbitions Membership &amp; Login Bridge for GlueUp<\/strong> is an independent integration tool designed for organizations using the GlueUp platform (formerly EventBank). It provides a secure, branded gateway that bridges your WordPress site with your GlueUp database, allowing members to log in using their GlueUp credentials.<\/p>\n\n<p>This plugin is not affiliated with, endorsed by, or officially connected to GlueUp. It simply integrates with the publicly available GlueUp API.<\/p>\n\n<p>Unlike standard login plugins, this bridge doesn't just check passwords\u2014it validates the user's real-time membership status. It ensures that only members in good standing (Active, Soon-to-Expire, or in a Grace Period) can access your protected content.<\/p>\n\n<p>Key Features:\n*   <strong>Real-time API Authentication<\/strong>: Authenticate members securely against the GlueUp API.\n*   <strong>Intelligent Membership Check<\/strong>: Automatically verify if a member is Active, Soon-to-Expire, or in a Grace Period before allowing access.\n*   <strong>Organization-First White-Labeling<\/strong>: Customize the login experience with your own company name.\n*   <strong>Seamless Profile Sync<\/strong>: Automatically synchronize user names and company details from GlueUp to WordPress.\n*   <strong>Security First<\/strong>: Built with CSRF protection, data sanitization, and compatibility with brute-force protection plugins.\n*   <strong>Developer Friendly<\/strong>: Simple shortcode integration <code>[glueup_login_form]<\/code> and a clean administration dashboard.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the GlueUp API to authenticate members and verify their membership status.<\/p>\n\n<h4>Authentication (Login)<\/h4>\n\n<p>When a user submits the login form, the plugin sends their email address and an MD5-hashed password to the GlueUp session endpoint to obtain an authentication token.\nEndpoint: <code>https:\/\/api.glueup.com\/v2\/user\/session<\/code><\/p>\n\n<h4>Membership Verification<\/h4>\n\n<p>After authentication, the plugin sends the session token to the GlueUp membership endpoint to check whether the user has an active membership.\nEndpoint: <code>https:\/\/api.glueup.com\/v2\/membership\/activeApplicationList<\/code><\/p>\n\n<h4>Data transmitted<\/h4>\n\n<ul>\n<li>User email address (on login)<\/li>\n<li>MD5-hashed user password (on login)<\/li>\n<li>Session token (on membership verification)<\/li>\n<li>API public and private keys (as HMAC authentication headers)<\/li>\n<\/ul>\n\n<p>This data is only sent when a user actively submits the login form. No data is sent passively or on page load.<\/p>\n\n<h4>Service provider<\/h4>\n\n<p>These services are provided by GlueUp (https:\/\/www.glueup.com).\n* Terms of Use: https:\/\/www.glueup.com\/terms\n* Privacy Policy: https:\/\/www.glueup.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/bigambitions-glueup-bridge<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Configure your API Keys and Organization name under 'BA Membership Bridge' in the WordPress admin menu.<\/li>\n<li>Add the shortcode <code>[glueup_login_form]<\/code> to any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20an%20official%20glueup%20plugin%3F\"><h3>Is this an official GlueUp plugin?<\/h3><\/dt>\n<dd><p>No. This is an independent integration bridge developed by Big Ambitions. It is not affiliated with, endorsed by, or officially connected to GlueUp. It works with the publicly available GlueUp API.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20for%20free%20members%3F\"><h3>Can I use this for free members?<\/h3><\/dt>\n<dd><p>Yes, as long as they have a record in your GlueUp database with an allowed status.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li><strong>Bug Fix<\/strong>: Resolved login redirect loop on sites where other plugins (e.g. Elementor) output content before the login shortcode executes. Moved <code>wp_signon()<\/code> to the <code>init<\/code> hook so the auth cookie is set before any HTML is sent.<\/li>\n<li>Added optional debug logging toggle in plugin settings to aid troubleshooting.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>Security Hardening<\/strong>: Replaced manual login flow with WordPress core <code>authenticate<\/code> filter.<\/li>\n<li><strong>Account Protection<\/strong>: Blocked bridge login for privileged accounts (Admin\/Editor) to prevent takeover.<\/li>\n<li><strong>Menu Hierarchy<\/strong>: Moved settings page under the standard 'Settings' menu.<\/li>\n<li><strong>Redirect Fix<\/strong>: Site lockdown redirect is now opt-in via a settings toggle (off by default).<\/li>\n<li>Updated Author and Plugin URIs.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Enforced trademark-compliant naming for WordPress.org directory.<\/li>\n<li>Implemented secure script enqueuing via <code>wp_add_inline_script()<\/code>.<\/li>\n<li>Added strict membership status sanitization.<\/li>\n<li>Full disclosure of external GlueUp API services.<\/li>\n<\/ul>","raw_excerpt":"Professional membership validator and login bridge for organizations using the GlueUp platform.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/281759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=281759"}],"author":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/divemasterza"}],"wp:attachment":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=281759"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=281759"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=281759"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=281759"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=281759"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=281759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}