Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Descrição
Classe
...
genérica de Client de Autenticação oAuth2, para ser usada como ascendente de novas classes específicas. Utilizada para fazer autenticação de acordo com o protocolo oAuth2, seguindo
...
a especificação RFC6749
Exemplos de implementação
Client para Facebook
Client para Twitter
Client para LinkedIn
Client para Google Drive
Métodos
New()
Descrição
Método construtor da classe
Sintaxe
FWoAuth2Client():New(cConsumer, cSecret, oURL) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
cConsumer | Caracter | Usuário, informado pelo provedor do serviço cadastrado como API de consumo | X |
cSecret | Caracter | Senha, informada pelo provedor do serviço cadastrado como API de consumo | X |
oURL | Objeto | Objeto |
...
Destroy()
ClassName()
Authorization_Request()
Token_Request()
Refresh_Token()
SetTokens()
ShowBrowser()
SetAsCode()
SetAsImplicit()
SetAsResourceOwner()
SetAsClientCredentials()
SetError()
GetError()
ClearError()
ClearToken()
SetUniqueToken()
SetQueryAuthorization()
SetHeaderAuthorization()
SetGetAuthorizationRequest()
SetPostAuthorizationRequest()
SetGetTokenRequest()
SetPostTokenRequest()
SetCallBack()
GetCallBack()
SetTimeOut()
GetTimeOut()
SetAuthOptions()
GetAuthOptions()
SetTokenOptions()
GetTokenOptions()
GetToken()
GetMethods()
Get()
Post()
Put()
Delete()
Access()
da classe FWoAuth2Url com as URL’s do provedor do serviço | X |
Observação
É necessário ter o REST Server ativado, e no arquivo appserver.ini do Application Server responsável pelo serviço, o endpoint de tratamento de callback, mediante a chave abaixo configurada:
[OAUTH_CLIENT]
CALLBACK_SERVER=https://server:port/rest/oauthcallback
Caso problemas de IFRAME ocorram na utilização da classe em webapp, é necessário informar a chave EXTERNALBROWSER com o valor 1 dentro da seção OAUTH_CLIENT, permitindo assim que o navegador abra uma nova aba, essa chave só é respeitando em caso de webapp com web agent, essa nova chave só está disponível na lib 20240812 ou superior:
[OAUTH_CLIENT]
CALLBACK_SERVER=https://server:port/rest/oauthcallback
EXTERNALBROWSER=1
SetAsCode()
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Authorization Code.
Sintaxe
FWoAuth2Client():SetAsCode( ) →
SetAsImplicit()
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Implicit.
Sintaxe
FWoAuth2Client():SetAsImplicit( ) →
SetAsResourceOwner()
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Resource Owner.
Sintaxe
FWoAuth2Client():SetAsResourceOwner(cUsername, cPassword) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
cUsername | Caracter | Nome de usuário do provedor de serviço | |
cPassword | Caracter | Senha do provedor de serviço |
SetAsClientCredentials()
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Client Credentials.
Sintaxe
FWoAuth2Client():SetAsClientCredentials( ) →
ClearToken()
Descrição
Efetua a limpeza do token de acesso da instância atual
Sintaxe
FWoAuth2Client():ClearToken( ) →
Retorono
Logical → Indica se a limpeza foi efetuada
ClearError()
Descrição
Efetua a limpeza dos erros da instância atual
Sintaxe
FWoAuth2Client():ClearError( ) →
Destroy()
Descrição
Método destrutor, efetua limpezas de objetos e variáveis
Sintaxe
FWoAuth2Client():Destroy( ) →
ClassName()
Descrição
Retorna o nome da classe
Sintaxe
FWoAuth2Client():ClassName( ) →
SetGrantInUrl()
Descrição
Seta o envio do grant_type na URL de autenticação
Sintaxe
FWoAuth2Client():SetGrantInUrl(lGrantInUrl)
Observação
O padrão é enviar o grant_type, mas em API's como a do Google, tivemos problemas ao enviar, portanto o método foi criado e disponibilizado
Método disponível na lib 20221010 ou superior
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
lGrantInUrl | Logical | Indica o envio do grant_type na URI de autenticação | X |
SetAuthInHeader()
Descrição
Seta o envio do Authorization no header na requisição do token
Sintaxe
FWoAuth2Client():SetAuthInHeader(lAuthInHeader)
Observação
O padrão é enviar o Authorization, mas em API's como a do Google, tivemos problemas ao enviar, portanto o método foi criado e disponibilizado
Método disponível na lib 20221010 ou superior
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
lAuthInHeader | Logical | Indica o envio do header de Authorization | X |
GetToken()
Descrição
Retorna o token fornecido pelo serviço de autenticação e armazenado na instância atual da classe, esse método não gera nova requisição.
Sintaxe
FWoAuth2Client():GetToken( ) →
Retorono
Character→ String contendo o token.
Access()
Descrição
Realiza o processo de autenticação, obtenção do token e requisição do recurso informado via parâmetro "cURL".
Sintaxe
FWoAuth2Client():Access( cURL ) →
Retorono
Character→ String contendo o response da requisição.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
cURLResource | Character | URL do recurso/serviço a ser acessado. | X |
cMethod | Character | String com método a ser utilizado na requisição. ("GET" ou "POST"). | |
cQuery | Character | String com "query params" a serem enviados na requisição. | |
cBody | Character | String a ser enviada como "body" da requisição. | |
aHeadOut | Array | Array com as propriedades que devem ser adicionadas no header da requisição. Ex: { {"Authorization", cToken}, {"Accept", "*/*"} } |
Informações |
---|
Esta documentação está em construção. Novos métodos serão adicionados em breve. |
Templatedocumentos |
---|
HTML |
---|
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|
Índice:
Índice |
---|