From b1801ea6db61ac003054c42d17b9f55a06f1ec21 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 12 Nov 2017 23:49:40 -0700 Subject: [PATCH 1/5] Spec /account/whoami Signed-off-by: Travis Ralston --- api/client-server/whoami.yaml | 54 +++++++++++++++++++++++++++++ specification/client_server_api.rst | 5 +++ 2 files changed, 59 insertions(+) create mode 100644 api/client-server/whoami.yaml diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml new file mode 100644 index 00000000..5b622f5c --- /dev/null +++ b/api/client-server/whoami.yaml @@ -0,0 +1,54 @@ +# Copyright 2017 Travis Ralston +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Client Config API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/account/whoami": + get: + summary: Gets information about the owner of an access token. + description: |- + Gets information about the owner of a given access token. Currently this + only supports returning the user id that owns the token. + security: + - accessToken: [] + parameters: [] + responses: + 200: + description: + The account_data was successfully added. + examples: + application/json: { + "user_id": "@joe:example.org" + } + schema: + type: object + properties: + user_id: + type: string + description: The user id that owns the access token. + tags: + - User data diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 87e90150..09f73bb9 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -786,6 +786,11 @@ This is independent of any information kept by any Identity Servers. {{administrative_contact_cs_http_api}} +Current account information +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +{{whoami_cs_http_api}} + Pagination ---------- From 2b3c84503c51fd703e4991d26910c9ab51d1d77b Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 12 Nov 2017 23:54:47 -0700 Subject: [PATCH 2/5] Add /account/whoami to changelog Signed-off-by: Travis Ralston --- changelogs/client_server.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index c24f9ef4..10387c56 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -60,6 +60,9 @@ - ``GET /rooms/{roomId}/joined_members`` (`#999 `_). + - ``GET /account/whoami`` + (`#1063 `_). + - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation From 9cf2b59f4e521f88d4a50dee1eae478766eb0994 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 12 Nov 2017 23:56:28 -0700 Subject: [PATCH 3/5] Make it less obvious where this was copy/pasted from Signed-off-by: Travis Ralston --- api/client-server/whoami.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 5b622f5c..2ac2c62c 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -39,7 +39,7 @@ paths: responses: 200: description: - The account_data was successfully added. + The token belongs to a known user. examples: application/json: { "user_id": "@joe:example.org" From 41db12713d573694360d191a253a25fd13a0f22a Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 13 Nov 2017 14:22:20 -0700 Subject: [PATCH 4/5] Update whoami endpoint Signed-off-by: Travis Ralston --- api/client-server/whoami.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 2ac2c62c..7374ab5a 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -13,15 +13,13 @@ # limitations under the License. swagger: '2.0' info: - title: "Matrix Client-Server Client Config API" + title: "Matrix Client-Server Account Identification API" version: "1.0.0" host: localhost:8008 schemes: - https - http basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% -consumes: - - application/json produces: - application/json securityDefinitions: @@ -31,8 +29,7 @@ paths: get: summary: Gets information about the owner of an access token. description: |- - Gets information about the owner of a given access token. Currently this - only supports returning the user id that owns the token. + Gets information about the owner of a given access token. security: - accessToken: [] parameters: [] From 2468c38482fc53bd3736f4c70526ec94fd393878 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 13 Nov 2017 18:47:38 -0700 Subject: [PATCH 5/5] Add required property to whoami Signed-off-by: Travis Ralston --- api/client-server/whoami.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 7374ab5a..4d9d6ceb 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -43,6 +43,7 @@ paths: } schema: type: object + required: ["user_id"] properties: user_id: type: string