Protocols/WebAPI/Auth/Client/logout: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
== Initial Request == | == Initial Request == | ||
* URL | * URL | ||
** http(s)://api.screenname.nina.bz/auth/logout | ** http(s)://api.screenname.nina.bz/auth/logout | ||
Line 15: | Line 14: | ||
*** your developer Id required to access NINA APIs | *** your developer Id required to access NINA APIs | ||
** f (required) | ** f (required) | ||
*** the required format of the response ( | *** the required format of the response (XML, JSON, or the query string) | ||
** s (optional) | ** s (optional) | ||
*** the loginID of the source user (if known) | *** the loginID of the source user (if known) | ||
Line 28: | Line 27: | ||
** sig_sha256 (required) | ** sig_sha256 (required) | ||
*** Base64 encoded digital signature (HMAC-SHA256) of the request using the Session Key generated as below. | *** Base64 encoded digital signature (HMAC-SHA256) of the request using the Session Key generated as below. | ||
**** Session Key = base64_encode | **** Session Key = base64_encode[HMAC-SHA256(key, data)] where key is the user's password and data is the session secret obtained from clientLogin response. | ||
*** Please refer to [[Protocols/WebAPI/Auth/Signing_Requests|Signing Requests]] for information about how to generate signature. | *** Please refer to [[Protocols/WebAPI/Auth/Signing_Requests|Signing Requests]] for information about how to generate signature. | ||
== Response Format == | |||
=== The XML standard wrapper === | |||
<pre> | |||
<response> | |||
<statusCode /> | |||
<statusText /> | |||
<statusDetailCode /> | |||
<requestId /> | |||
<data> | |||
.... | |||
</data> | |||
</response> | |||
</pre> | |||
=== The JSON standard wrapper === | |||
<pre> | |||
{"response":{ | |||
"statusCode":"" | |||
"statusText":"", | |||
"statusDetailCode":"" | |||
"requestId":"" | |||
"data":{ | |||
.... | |||
} | |||
}} | |||
</pre> | |||
=== Query String === | |||
The following parameters will be returned back as name-value string in URL Query String format (name=value&name=value&...): | |||
* statusCode | |||
* statusText | |||
* statusDetailCode | |||
* requestId | |||
=== Error Codes === | |||
* 200 - Success (Ok) | |||
* 304 - Not modified | |||
* 400 - Invalid request | |||
* 405 - Method not allowed | |||
* 408 - Request timeout | |||
* 430 - Source rate limit reached | |||
* 440 - Invalid Key | |||
* 441 - Key usage limit reached | |||
* 442 - Key invalid IP | |||
* 443 - Key used from unauthorized site | |||
* 444 - token used from unauthorized site (Referer doesn't match the value in token) | |||
* 460 - Missing required parameter | |||
* 461 - Source required | |||
* 462 - Parameter error | |||
* 500 - Generic Server Error | |||
=== Sample Response === | |||
==== XML ==== | |||
<pre> | |||
<response xmlns="https://api.login.nina.bz"> | |||
<statusCode>200</statusCode> | |||
<statusText>OK</statusText | |||
</response> | |||
</pre> | |||
==== JSON ==== | |||
<pre> | |||
{"response":{ | |||
"statusCode":200, | |||
"statusText":"OK" | |||
}} | |||
</pre> | |||
==== Query String ==== | |||
<pre> | |||
statusCode=200&statusText=OK | |||
</pre> | |||
[[Category:Stub]] | [[Category:Stub]] |
Revision as of 18:21, 25 March 2020
WebAPI Protocol |
Basic |
Introduction |
Clients |
Whimsicals |
Host Interaction |
Flow |
Authentication |
• Client |
• WebApp |
Other Services |
• |
Foodgroups |
This page is about the logout method for WebAPI authentication.
Terminates the user's authentication session and invalidates the Authentication Tokens obtained via 'clientLogin' method.
Initial Request
- URL
- http(s)://api.screenname.nina.bz/auth/logout
- HTTP Method
- GET or POST
- Arguments
- devId (required)
- your developer Id required to access NINA APIs
- f (required)
- the required format of the response (XML, JSON, or the query string)
- s (optional)
- the loginID of the source user (if known)
- language (optional)
- the required language and locale of the error/status messages. This is always in "<lang>-<locale>" format. The lang is the 2 letter language code for I18N (default: en) and the locale is the 2 letter Locale code for I18N (default: us). If not passed in, the language will be extracted from HTTP header (Accept-Language) and if that is not available will default to "en-us". Check below for our current supported language list.
- c (optional)
- the callback method to use when using jsonp convention (argument f = json)
- r (optional)
- an URL safe string to be used as requestId - when passed it is returned back in the response
- a (required)
- the Authentication token returned by login or getToken methods
- sig_sha256 (required)
- Base64 encoded digital signature (HMAC-SHA256) of the request using the Session Key generated as below.
- Session Key = base64_encode[HMAC-SHA256(key, data)] where key is the user's password and data is the session secret obtained from clientLogin response.
- Please refer to Signing Requests for information about how to generate signature.
- Base64 encoded digital signature (HMAC-SHA256) of the request using the Session Key generated as below.
- devId (required)
Response Format
The XML standard wrapper
<response> <statusCode /> <statusText /> <statusDetailCode /> <requestId /> <data> .... </data> </response>
The JSON standard wrapper
{"response":{ "statusCode":"" "statusText":"", "statusDetailCode":"" "requestId":"" "data":{ .... } }}
Query String
The following parameters will be returned back as name-value string in URL Query String format (name=value&name=value&...):
- statusCode
- statusText
- statusDetailCode
- requestId
Error Codes
- 200 - Success (Ok)
- 304 - Not modified
- 400 - Invalid request
- 405 - Method not allowed
- 408 - Request timeout
- 430 - Source rate limit reached
- 440 - Invalid Key
- 441 - Key usage limit reached
- 442 - Key invalid IP
- 443 - Key used from unauthorized site
- 444 - token used from unauthorized site (Referer doesn't match the value in token)
- 460 - Missing required parameter
- 461 - Source required
- 462 - Parameter error
- 500 - Generic Server Error
Sample Response
XML
<response xmlns="https://api.login.nina.bz"> <statusCode>200</statusCode> <statusText>OK</statusText </response>
JSON
{"response":{ "statusCode":200, "statusText":"OK" }}
Query String
statusCode=200&statusText=OK