Skip to content
v0.3

customer.mint_social_session

Mint a shopper session from a provider (Google/Apple) id_token the storefront already verified. Provisions on first login; the kernel never talks to the provider. Claims the guest orders this e-mail placed in this store.

  • Scope: public
  • System: no
  • Reachable from: POST /v1/customer/commands/customer.mint_social_session — an ANONYMOUS face: x-forge-store is required, no credential is sent, and it is never on /v1/commands/*
  • Events: customer.registered, customer.updated
{
"properties": {
"client_ip": {
"type": "string"
},
"email": {
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"email_verified": {
"type": "boolean"
},
"factor_assertion": {
"type": "string"
},
"name": {
"type": "string"
},
"provider": {
"enum": [
"google",
"apple"
],
"type": "string"
},
"subject": {
"minLength": 1,
"type": "string"
}
},
"required": [
"provider",
"email",
"subject",
"email_verified"
],
"type": "object"
}
{
"additionalProperties": false,
"properties": {
"claimed_orders": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"customer_id": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"customer_id",
"token",
"expires_at",
"claimed_orders"
],
"type": "object"
}

validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)