Spec for endpoint-specific 3pid verification token
As per proposal https://docs.google.com/document/d/13mapDbaOnbob9ZYRDiGm1YbeZhFOBj_R1OvgBA9pA5s/edit?pref=2&pli=1#
This commit is contained in:
parent
4f37e4ece0
commit
b0194a3016
2 changed files with 56 additions and 1 deletions
|
@ -132,9 +132,59 @@ paths:
|
||||||
"$ref": "definitions/error.yaml"
|
"$ref": "definitions/error.yaml"
|
||||||
tags:
|
tags:
|
||||||
- User data
|
- User data
|
||||||
|
"/register/email/requestToken":
|
||||||
|
post:
|
||||||
|
summary: Requests a validation token be sent to the given email address
|
||||||
|
description: |-
|
||||||
|
Proxies the identity server API `validate/email/requestToken`, but
|
||||||
|
additionally inform the user if the given email is already associated
|
||||||
|
with an account on this Home Server. Note that, for consistency,
|
||||||
|
this API takes JSON objects, though the Identity Server API takes
|
||||||
|
``x-www-form-urlencoded`` parameters. See the Identity Server API for
|
||||||
|
further information, including the full list of response coes.
|
||||||
|
parameters:
|
||||||
|
- in: body
|
||||||
|
name: body
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
client_secret:
|
||||||
|
type: string
|
||||||
|
description: Client-generated secret string used to protect this session
|
||||||
|
example: "this_is_my_secret_string"
|
||||||
|
email:
|
||||||
|
type: string
|
||||||
|
description: The email address
|
||||||
|
example: "example@example.com"
|
||||||
|
send_attempt:
|
||||||
|
type: number
|
||||||
|
description: Used to distinguish protocol level retries from requests to re-send the email.
|
||||||
|
example: "1"
|
||||||
|
required: ["client_secret", "email", "send_attempt"]
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: |-
|
||||||
|
An email has been sent to the specified address.
|
||||||
|
Note that this may be an email containing the validation token or it may be informing
|
||||||
|
the user of an error.
|
||||||
|
examples:
|
||||||
|
application/json: "{}"
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
400:
|
||||||
|
description: |-
|
||||||
|
Returns an error object indicating the nature of the error. A Home Server may use
|
||||||
|
``M_THREEPID_IN_USE`` to inform the user that the email address is already registered
|
||||||
|
to an account on this server, however, if the home server has the ability to send email,
|
||||||
|
it is recommended that the server instead send an email to the user with instructions
|
||||||
|
on how to reset their password.
|
||||||
|
examples:
|
||||||
|
application/json: '{"errcode": "M_THREEPID_IN_USE", "error": "The specified address is already in use"}'
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
"/account/password":
|
"/account/password":
|
||||||
post:
|
post:
|
||||||
summary: Changes a user's password.
|
summary: "Changes a user's password."
|
||||||
description: |-
|
description: |-
|
||||||
Changes the password for an account on this homeserver.
|
Changes the password for an account on this homeserver.
|
||||||
|
|
||||||
|
|
|
@ -124,6 +124,11 @@ This is to avoid repeatedly sending the same email in the case of request
|
||||||
retries between the POSTing user and the identity service. The client should
|
retries between the POSTing user and the identity service. The client should
|
||||||
increment this value if they desire a new email (e.g. a reminder) to be sent.
|
increment this value if they desire a new email (e.g. a reminder) to be sent.
|
||||||
|
|
||||||
|
Note that Home Servers offer APIs that proxy this API, adding additional
|
||||||
|
behaviour on top, for example, ``/register/email/requestToken`` is designed
|
||||||
|
specifically for use when registering an account and therefore will inform
|
||||||
|
the user if the email address given is already registered on the server.
|
||||||
|
|
||||||
Validating ownership of an email
|
Validating ownership of an email
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue