=== IRLProof ===
Contributors: irlproof
Tags: login, authentication, identity, oidc, sso
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
Stable tag: 0.5.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sign in with a government ID that never leaves the person's phone. A real human behind every account, and nothing about them for your site to lose.

== Description ==

IRLProof is a sign-in service backed by a mobile driver's licence, state ID or
passport held in the person's own phone wallet. Your site learns that a real
person is behind the account and nothing else: no name, no date of birth, no
document number, no photo.

What this plugin adds beyond a generic OpenID Connect plugin:

* **Sign-in and sign-out**, including ending the IRLProof session, not just the local one.
* **The data contract.** If your site needs a couple of things from the person, IRLProof collects them during sign-in and hands them over, so your own sign-up form disappears.
* **The consent receipt.** A signed statement of what the person agreed to give you, and when, stored against their user.
* **Webhooks.** Your site hears when somebody deletes their IRLProof account, instead of keeping an account for a person who no longer exists.
* **Age verification.** With the IRLProof age verification add-on, only let in people whose ID confirms they are 18 or over, and keep the signed receipt of each check.
* **One-button setup.** Connect to IRLProof.me from the settings page; nothing to copy by hand.

== Installation ==

1. Install and activate this plugin.
2. Go to Settings, IRLProof, and press Connect to IRLProof.me.
3. Sign in to the IRLProof developer console and confirm. You come back connected.

To set it up by hand instead, register the site in the console and paste its client ID and secret, then copy the addresses shown on the settings page into the console.

== Frequently Asked Questions ==

= Does my site receive anyone's ID details? =

No. Your site receives an identifier that is unique to your site, plus whatever
you asked for in your data contract, which the person typed themselves.

= What happens to existing WordPress users? =

Nothing, unless you turn on linking by email address, which only works when your
data contract asks for one.

== Changelog ==

= 0.5.2 =
* Fix: a caching plugin could cache the sign-in redirect, so pressing the button again replayed a used sign-in and reported "already signed in".

= 0.5.1 =
* The button's markup and styles now come from IRLProof's brand source, generated rather than copied.

= 0.5.0 =
* The button now reads "Continue with Blind-ID" with "by IRLProof.me" underneath, from the current brand kit.
* One wording everywhere: the shortcode no longer takes a label.

= 0.4.2 =
* The label is centred in its own space, to the right of the divider.

= 0.4.1 =
* The divider stays put when the button is stretched: only the label area grows.

= 0.4.0 =
* The button is IRLProof's Blind-ID button from the brand kit, the same one the service uses on its own pages, light and dark.

= 0.3.0 =
* The button sits above the login box, with an "or" rule between it and the username and password form.
* On a desktop browser the sign-in happens in a window over the site instead of navigating away.

= 0.2.2 =
* Fix: the button's styles and mark were stripped on the login screen, printing CSS as text.

= 0.2.1 =
* The sign-in button is IRLProof's own, with the mark, instead of WordPress's default button.

= 0.2.0 =
* Connect to IRLProof.me with one button.
* Age verification: require a confirmed 18 or over, and keep each check's receipt against the user.

= 0.1.0 =
* First version: sign-in, sign-out, data contract, consent receipt, webhooks.
