=== Goosehold Connect ===
Contributors: goosehold
Tags: login, oauth, sso, identity, goosehold, woocommerce
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add “Log in with Goosehold” to WordPress and WooCommerce using GooseID Connect, OAuth 2 authorization code flow and PKCE.

== Description ==

Goosehold Connect gives a WordPress site a simple “Log in with Goosehold” button. It links WordPress accounts to a GooseID and can create a customer/subscriber for a new verified GooseID email.

The plugin uses authorization code + PKCE and does not ask your site to store a Goosehold password.

What is Goosehold? Goosehold is a connected identity, social, trust, shopping, messaging, learning and media ecosystem. GooseID is the account layer shared across Goosehold services and can also be used by external business websites.

Features:

* “Log in with Goosehold” on wp-login.php.
* Native WooCommerce customer login support on My Account and WooCommerce login forms.
* Returns customers to the page they started from after GooseID authentication.
* `[goosehold_login]` shortcode for custom customer/account pages.
* OAuth 2 authorization code + PKCE.
* Verified-email account linking.
* Optional automatic WooCommerce Customer creation, falling back to Subscriber when WooCommerce is unavailable.
* GooseID subject and handle stored as user metadata.
* Age-band claims can be requested without exposing an exact date of birth.

Developer documentation and app registration are available from Goosehold Developers.

== Installation ==

1. Upload the plugin and activate it.
2. Open Settings > Goosehold Connect.
3. Create an application in Goosehold Developers.
4. Register the callback URL shown by the plugin.
5. Paste the client ID and client secret into WordPress.
6. WooCommerce customer login forms gain the Goosehold login option automatically.

== Frequently Asked Questions ==

= What is Goosehold? =

Goosehold is a connected platform built around one GooseID. The same identity layer is designed to work across Goosehold social, media, trust, shopping, marketplace, messaging, learning and other services, plus participating external websites.

= Does this replace WordPress users? =

No. It links a GooseID to a normal WordPress user account. On WooCommerce sites, newly created accounts use the Customer role when available.

= Does my WordPress site receive a Goosehold password? =

No.

= Does the plugin expose a user's birthday? =

No. GooseID Connect can provide an age band or adult flag when the user approves the age scope.

= Can I put the login button on a custom page? =

Yes. Use `[goosehold_login]`. You can optionally specify a same-site return path, for example `[goosehold_login redirect="/my-account/"]`.

== Changelog ==

= 1.1.0 =
* Add WooCommerce customer login integration.
* Preserve the customer return page through GooseID authentication.
* Add `[goosehold_login]` shortcode for custom account/customer pages.
* Create new WooCommerce users with the Customer role when available.

= 1.0.1 =
* Fix external GooseID authorization redirect handling on WordPress.

= 1.0.0 =
* Initial GooseID Connect release.
