Skip to content

Instantly share code, notes, and snippets.

@jovemfelix
Last active November 7, 2023 12:17
Show Gist options
  • Save jovemfelix/0916d63c13a24f4a5e16a4d7ff49581a to your computer and use it in GitHub Desktop.
Save jovemfelix/0916d63c13a24f4a5e16a4d7ff49581a to your computer and use it in GitHub Desktop.
Exemplo de Contrato para SPI com KEYCLOAK
openapi: 3.1.0
info:
title: CIAM
contact: {}
version: '1.0'
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base
servers:
- url: https://develop.example.com
variables: {}
- url: https://stage.example.com
variables: {}
- url: https://production.example.com
variables: {}
tags:
- name: user
description: Operações sobre o usuário
paths:
/user/login:
get:
tags:
- user
summary: Validar credencial do usuário no sistema
description: ''
operationId: loginUser
parameters:
- name: userName
in: query
description: O nome de usuário para login
required: false
schema:
type: string
- name: password
in: query
description: A senha para login em base64
required: false
schema:
type: string
format: byte
responses:
'200':
description: successful operation
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/User'
contentMediaType: application/json
'400':
description: Invalid username/password supplied
/user/password:
put:
tags:
- user
summary: Atualizar a credencial do usuário no sistema
description: ''
operationId: updateUserCredencial
parameters:
- name: userName
in: query
description: O nome de usuário para login
required: false
schema:
type: string
- name: password
in: query
description: Nova senha em base64
required: false
schema:
type: string
format: byte
responses:
'200':
description: successful operation
'400':
description: Error in update username/password supplied
/user/:
post:
tags:
- user
summary: Cadastro de Usuários
description: ''
operationId: newUser
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UserForm'
contentMediaType: application/json
required: true
responses:
'200':
description: successful operation
'400':
description: Error in create username form
components:
schemas:
User:
title: Usuario
description: ''
required:
- userId
- userName
- firstName
- enabled
- locked
- lastName
- email
type: object
properties:
userId:
type: string
description: informa o identificador do usuário no sistema de origem
userName:
type: string
description: informa o login usado para acessar
firstName:
type: string
description: informa o nome do usuário
lastName:
type: string
description: informa o sobrenome do usuário
email:
type: string
description: informa o email do usuário
roles:
type: array
description: informa o perfil do usuário em maiúsculo
items:
type: string
enabled:
type: boolean
description: informa se o usuário está habilitado
locked:
type: boolean
description: informa se o usuário está bloqueado
UserForm:
title: Usuário Novo
description: ''
required:
- userName
- firstName
- lastName
- email
- password
type: object
properties:
userName:
type: string
description: informa o login usado para acessar
firstName:
type: string
description: informa o nome do usuário
lastName:
type: string
description: informa o sobrenome do usuário
email:
type: string
description: informa o email do usuário
password:
type: string
description: informa a senha do usuário
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment