OAuth_Aplicativo_DAO
extends DAO
in package
Cadastro dos aplicativos clientes do servidor OAuth do Next BP.
Ver manual/pt-BR/dev_oauth.md
Table of Contents
Constants
- ESQUEMAS_PROIBIDOS = array('javascript', 'data', 'file', 'vbscript', 'about', 'blob')
- Esquemas que nunca podem receber o código de autorização.
- PARAMETRO_HOSTS_REDIRECT = 'oauth_hosts_redirect_permitidos'
- PARAMETRO_REGISTRO_DINAMICO = 'oauth_registro_dinamico'
Properties
- $_erp_empresa : mixed
- $_erp_filial : mixed
- $_erp_grupo : mixed
- $api_token : mixed
- $dir_dao : mixed
- $emp : mixed
- $idioma : mixed
- $instance_token : mixed
- $login_anonimo : mixed
- $token_job : mixed
- $viewcode : mixed
Methods
- __construct() : mixed
- alterar_situacao() : mixed
- Desativar o aplicativo derruba todas as conexões dele (os tokens emitidos param na hora).
- api_token() : mixed
- AutoLoad() : mixed
- ConvertBase64() : mixed
- criar() : mixed
- Cria o aplicativo. Um aplicativo confidencial recebe o client_secret em `$aplicativo_model->client_secret`, que não é persistido: só o hash.
- Delete_Token_JOB() : mixed
- DxParamsAddFilter() : mixed
- emp() : mixed
- excluir() : mixed
- gerar_novo_segredo() : mixed
- Troca o segredo: o anterior deixa de valer na hora. O aplicativo passa a confidencial.
- get_login_anonimo() : mixed
- getFormData() : mixed
- getJsonData() : mixed
- hash_segredo() : mixed
- O segredo tem 256 bits aleatórios: sha256 basta, e é o que permite comparar em tempo constante.
- hosts_redirect_permitidos() : mixed
- Hosts (ou *.dominio) e esquemas de aplicativo nativo aceitos no registro dinâmico. Vazio libera todos.
- instance_token() : mixed
- isJsonRequest() : mixed
- listar() : mixed
- LoadDAO() : mixed
- LoadHTML() : mixed
- LoadMail() : mixed
- LoadModel() : mixed
- LoadPDF() : mixed
- popular() : mixed
- popular_por_client_id() : mixed
- preencher() : mixed
- ReadBodyParams() : mixed
- ReadDxParams() : mixed
- ReadFile() : mixed
- ReadFiles() : mixed
- ReadGet() : mixed
- ReadPost() : mixed
- ReadRequest() : mixed
- redirect_uri_valida() : mixed
- URL de retorno aceitável para receber o código de autorização: - https com host; - http só no loopback (aplicativos nativos, RFC 8252 §7.3); - esquema próprio de aplicativo nativo, ex.: cursor:// (RFC 8252 §7.1).
- registrar_uso() : mixed
- registro_dinamico_habilitado() : mixed
- salvar() : mixed
- Inclui ou altera um aplicativo pela tela de administração. Passar a confidencial gera um segredo (devolvido uma única vez); voltar a público descarta o segredo.
- set_login_anonimo() : mixed
- Start_Token_JOB() : mixed
- WhatRequest() : mixed
- limite_sql() : mixed
- Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.
- lista_ids_sql() : mixed
- Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.
- normalizar_ids() : array<string|int, mixed>
- Normaliza uma lista de ids para interpolação segura em um IN (...).
Constants
ESQUEMAS_PROIBIDOS
Esquemas que nunca podem receber o código de autorização.
public
mixed
ESQUEMAS_PROIBIDOS
= array('javascript', 'data', 'file', 'vbscript', 'about', 'blob')
PARAMETRO_HOSTS_REDIRECT
public
mixed
PARAMETRO_HOSTS_REDIRECT
= 'oauth_hosts_redirect_permitidos'
PARAMETRO_REGISTRO_DINAMICO
public
mixed
PARAMETRO_REGISTRO_DINAMICO
= 'oauth_registro_dinamico'
Properties
$_erp_empresa
protected
mixed
$_erp_empresa
$_erp_filial
protected
mixed
$_erp_filial
$_erp_grupo
protected
mixed
$_erp_grupo
$api_token
protected
static mixed
$api_token
$dir_dao
protected
static mixed
$dir_dao
= NULL
$emp
protected
mixed
$emp
$idioma
protected
mixed
$idioma
$instance_token
protected
static mixed
$instance_token
$login_anonimo
protected
static mixed
$login_anonimo
= false
$token_job
protected
static mixed
$token_job
$viewcode
protected
mixed
$viewcode
Methods
__construct()
public
__construct() : mixed
alterar_situacao()
Desativar o aplicativo derruba todas as conexões dele (os tokens emitidos param na hora).
public
alterar_situacao(mixed $id, mixed $ativo, mixed $usuario_id) : mixed
Parameters
- $id : mixed
- $ativo : mixed
- $usuario_id : mixed
api_token()
public
static api_token() : mixed
AutoLoad()
public
static AutoLoad(mixed $className) : mixed
Parameters
- $className : mixed
ConvertBase64()
public
static ConvertBase64(mixed $name, mixed &$request_params) : mixed
Parameters
- $name : mixed
- $request_params : mixed
criar()
Cria o aplicativo. Um aplicativo confidencial recebe o client_secret em `$aplicativo_model->client_secret`, que não é persistido: só o hash.
public
criar(mixed $aplicativo_model[, mixed $usuario_id = null ]) : mixed
Parameters
- $aplicativo_model : mixed
- $usuario_id : mixed = null
Delete_Token_JOB()
public
static Delete_Token_JOB() : mixed
DxParamsAddFilter()
public
DxParamsAddFilter(mixed &$params, mixed $campo, mixed $condicao, mixed $valor) : mixed
Parameters
- $params : mixed
- $campo : mixed
- $condicao : mixed
- $valor : mixed
emp()
public
emp() : mixed
excluir()
public
excluir(mixed $id, mixed $usuario_id) : mixed
Parameters
- $id : mixed
- $usuario_id : mixed
gerar_novo_segredo()
Troca o segredo: o anterior deixa de valer na hora. O aplicativo passa a confidencial.
public
gerar_novo_segredo(mixed $id, mixed $usuario_id) : mixed
Parameters
- $id : mixed
- $usuario_id : mixed
get_login_anonimo()
public
static get_login_anonimo() : mixed
getFormData()
public
static getFormData([mixed $param = null ]) : mixed
Parameters
- $param : mixed = null
getJsonData()
public
static getJsonData([mixed $param = null ]) : mixed
Parameters
- $param : mixed = null
hash_segredo()
O segredo tem 256 bits aleatórios: sha256 basta, e é o que permite comparar em tempo constante.
public
static hash_segredo(mixed $segredo) : mixed
Parameters
- $segredo : mixed
hosts_redirect_permitidos()
Hosts (ou *.dominio) e esquemas de aplicativo nativo aceitos no registro dinâmico. Vazio libera todos.
public
static hosts_redirect_permitidos() : mixed
instance_token()
public
static instance_token() : mixed
isJsonRequest()
public
static isJsonRequest() : mixed
listar()
public
listar([mixed $dx_params = null ]) : mixed
Parameters
- $dx_params : mixed = null
LoadDAO()
public
static LoadDAO(mixed $dao_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
- $dao_class_required : mixed
- $auto_construct : mixed = false
- $auto_load : mixed = false
LoadHTML()
public
static LoadHTML(mixed $html_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
- $html_class_required : mixed
- $auto_construct : mixed = false
- $auto_load : mixed = false
LoadMail()
public
static LoadMail(mixed $mail_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
- $mail_class_required : mixed
- $auto_construct : mixed = false
- $auto_load : mixed = false
LoadModel()
public
static LoadModel(mixed $model_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
- $model_class_required : mixed
- $auto_construct : mixed = false
- $auto_load : mixed = false
LoadPDF()
public
static LoadPDF(mixed $pdf_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
- $pdf_class_required : mixed
- $auto_construct : mixed = false
- $auto_load : mixed = false
popular()
public
popular(mixed $id) : mixed
Parameters
- $id : mixed
popular_por_client_id()
public
popular_por_client_id(mixed $client_id) : mixed
Parameters
- $client_id : mixed
preencher()
public
preencher(mixed $row_query) : mixed
Parameters
- $row_query : mixed
ReadBodyParams()
public
ReadBodyParams([mixed $param = null ]) : mixed
Parameters
- $param : mixed = null
ReadDxParams()
public
ReadDxParams() : mixed
ReadFile()
public
ReadFile(mixed $name[, mixed $default = null ][, mixed $arrAcceptedMimeTypes = [] ]) : mixed
Parameters
- $name : mixed
- $default : mixed = null
- $arrAcceptedMimeTypes : mixed = []
ReadFiles()
public
ReadFiles(mixed $name) : mixed
Parameters
- $name : mixed
ReadGet()
public
ReadGet(mixed $name[, mixed $default = null ]) : mixed
Parameters
- $name : mixed
- $default : mixed = null
ReadPost()
public
ReadPost(mixed $name[, mixed $default = null ]) : mixed
Parameters
- $name : mixed
- $default : mixed = null
ReadRequest()
public
ReadRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
- $name : mixed
- $default : mixed = null
redirect_uri_valida()
URL de retorno aceitável para receber o código de autorização: - https com host; - http só no loopback (aplicativos nativos, RFC 8252 §7.3); - esquema próprio de aplicativo nativo, ex.: cursor:// (RFC 8252 §7.1).
public
static redirect_uri_valida(mixed $uri, mixed $registro_dinamico) : mixed
Nunca com fragmento (RFC 6749 §3.1.2). No registro dinâmico vale ainda a lista do parâmetro oauth_hosts_redirect_permitidos, quando preenchida.
Parameters
- $uri : mixed
- $registro_dinamico : mixed
registrar_uso()
public
registrar_uso(mixed $id) : mixed
Parameters
- $id : mixed
registro_dinamico_habilitado()
public
static registro_dinamico_habilitado() : mixed
salvar()
Inclui ou altera um aplicativo pela tela de administração. Passar a confidencial gera um segredo (devolvido uma única vez); voltar a público descarta o segredo.
public
salvar(mixed $aplicativo_model, mixed $usuario_id) : mixed
Parameters
- $aplicativo_model : mixed
- $usuario_id : mixed
set_login_anonimo()
public
static set_login_anonimo(mixed $value) : mixed
Parameters
- $value : mixed
Start_Token_JOB()
public
static Start_Token_JOB(mixed $new_token) : mixed
Parameters
- $new_token : mixed
WhatRequest()
public
WhatRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
- $name : mixed
- $default : mixed = null
limite_sql()
Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.
protected
limite_sql(mixed $valor[, mixed $padrao = 0 ]) : mixed
Parameters
- $valor : mixed
- $padrao : mixed = 0
lista_ids_sql()
Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.
protected
lista_ids_sql(mixed $valor) : mixed
Sem nenhum id aproveitável devolve o literal NULL, para o IN não casar com nada em vez de gerar SQL inválido.
Parameters
- $valor : mixed
normalizar_ids()
Normaliza uma lista de ids para interpolação segura em um IN (...).
protected
normalizar_ids(mixed $valor) : array<string|int, mixed>
Aceita array, string separada por vírgula ou escalar, e descarta tudo que não for numérico.
Use sempre que um valor vindo da request precisar entrar concatenado no SQL: os parâmetros nomeados do PDO não funcionam dentro de um IN (...) de tamanho variável, e é justamente aí que a concatenação crua costuma aparecer.
Parameters
- $valor : mixed
Return values
array<string|int, mixed> —Lista de inteiros reindexada; vazia quando nada é aproveitável.