bigbuffet-rw/packages/pl-api/lib/params/oauth.ts
marcin mikołajczak 7b183e5c60 pl-api: Update docs
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-10-29 22:44:28 +01:00

66 lines
2.8 KiB
TypeScript

/**
* @category Request params
*/
interface OauthAuthorizeParams {
/** String. Should be set equal to `code`. */
response_type: string;
/** String. The client ID, obtained during app registration. */
client_id: string;
/** String. Set a URI to redirect the user to. If this parameter is set to `urn:ietf:wg:oauth:2.0:oob` then the authorization code will be shown instead. Must match one of the `redirect_uris` declared during app registration. */
redirect_uri: string;
/** String. List of requested OAuth scopes, separated by spaces (or by pluses, if using query parameters). Must be a subset of `scopes` declared during app registration. If not provided, defaults to `read`. */
scope?: string;
/** Boolean. Forces the user to re-login, which is necessary for authorizing with multiple accounts from the same instance. */
force_login?: boolean;
/** String. The ISO 639-1 two-letter language code to use while rendering the authorization form. */
lang?: string;
}
/**
* @category Request params
*/
interface GetTokenParams {
/** String. Set equal to `authorization_code` if `code` is provided in order to gain user-level access. Otherwise, set equal to `client_credentials` to obtain app-level access only. */
grant_type: string;
/** String. A user authorization code, obtained via [GET /oauth/authorize](https://docs.joinmastodon.org/methods/oauth/#authorize). */
code?: string;
/** String. The client ID, obtained during app registration. */
client_id: string;
/** String. The client secret, obtained during app registration. */
client_secret: string;
/** String. Set a URI to redirect the user to. If this parameter is set to urn:ietf:wg:oauth:2.0:oob then the token will be shown instead. Must match one of the `redirect_uris` declared during app registration. */
redirect_uri: string;
/** String. List of requested OAuth scopes, separated by spaces (or by pluses, if using query parameters). If `code` was provided, then this must be equal to the `scope` requested from the user. Otherwise, it must be a subset of `scopes` declared during app registration. If not provided, defaults to `read`. */
scope?: string;
}
/**
* @category Request params
*/
interface RevokeTokenParams {
/** String. The client ID, obtained during app registration. */
client_id: string;
/** String. The client secret, obtained during app registration. */
client_secret: string;
/** String. The previously obtained token, to be invalidated. */
token: string;
}
/**
* @category Request params
*/
interface MfaChallengeParams {
client_id: string;
client_secret: string;
/** access token to check second step of mfa */
mfa_token: string;
challenge_type: 'totp' | 'recovery';
code: string;
}
export type {
OauthAuthorizeParams,
GetTokenParams,
RevokeTokenParams,
MfaChallengeParams,
};