66 lines
2.8 KiB
TypeScript
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,
|
|
};
|