171 lines
3.7 KiB
TypeScript
171 lines
3.7 KiB
TypeScript
import { ApiPropertyOptional } from '@nestjs/swagger';
|
|
import { IsOptional, IsString } from 'class-validator';
|
|
|
|
export class OAuthAuthorizeIncomingDto {
|
|
@ApiPropertyOptional({ description: 'ID пользователя (legacy camelCase)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
userId?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'ID пользователя (OIDC legacy alias)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
user_id?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth client_id (legacy camelCase)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
clientId?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth client_id (RFC 6749)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
client_id?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'redirect_uri (legacy camelCase)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
redirectUri?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'redirect_uri (RFC 6749)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
redirect_uri?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'Scopes через пробел', example: 'openid profile email' })
|
|
@IsOptional()
|
|
@IsString()
|
|
scope?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth state' })
|
|
@IsOptional()
|
|
@IsString()
|
|
state?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth response_type', example: 'code' })
|
|
@IsOptional()
|
|
@IsString()
|
|
response_type?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'Legacy camelCase alias response_type' })
|
|
@IsOptional()
|
|
@IsString()
|
|
responseType?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'PKCE code_challenge' })
|
|
@IsOptional()
|
|
@IsString()
|
|
code_challenge?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'Legacy camelCase alias code_challenge' })
|
|
@IsOptional()
|
|
@IsString()
|
|
codeChallenge?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'PKCE code_challenge_method', example: 'S256' })
|
|
@IsOptional()
|
|
@IsString()
|
|
code_challenge_method?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'Legacy camelCase alias code_challenge_method' })
|
|
@IsOptional()
|
|
@IsString()
|
|
codeChallengeMethod?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OpenID Connect nonce' })
|
|
@IsOptional()
|
|
@IsString()
|
|
nonce?: string;
|
|
}
|
|
|
|
export class OAuthTokenIncomingDto {
|
|
@IsOptional()
|
|
@IsString()
|
|
grantType?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
grant_type?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
code?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
refreshToken?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
refresh_token?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
clientId?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
client_id?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
clientSecret?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
client_secret?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
redirectUri?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
redirect_uri?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
codeVerifier?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
code_verifier?: string;
|
|
}
|
|
|
|
export class OAuthConsentActionDto {
|
|
@ApiPropertyOptional({ description: 'OAuth client_id (RFC 6749)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
clientId?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth client_id (legacy camelCase)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
client_id?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'Scopes через пробел', example: 'openid profile email' })
|
|
@IsOptional()
|
|
@IsString()
|
|
scope?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'redirect_uri (RFC 6749)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
redirectUri?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'redirect_uri (legacy camelCase)' })
|
|
@IsOptional()
|
|
@IsString()
|
|
redirect_uri?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OAuth state' })
|
|
@IsOptional()
|
|
@IsString()
|
|
state?: string;
|
|
|
|
@ApiPropertyOptional({ description: 'OpenID Connect nonce' })
|
|
@IsOptional()
|
|
@IsString()
|
|
nonce?: string;
|
|
}
|