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

NomeTipoDescriçãoObrigatório
cConsumerCaracterUsuário, informado pelo provedor do serviço cadastrado como API de consumoX
cSecretCaracterSenha, informada pelo provedor do serviço cadastrado como API de consumoX
oURLObjetoObjeto

...

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çoX


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]
C
ALLBACK_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

NomeTipoDescriçãoObrigatório
cUsername CaracterNome de usuário do provedor de serviço
cPassword CaracterSenha 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

NomeTipoDescriçãoObrigatório
lGrantInUrlLogicalIndica o envio do grant_type na URI de autenticaçãoX


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

NomeTipoDescriçãoObrigatório
lAuthInHeaderLogicalIndica o envio do header de AuthorizationX


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

NomeTipoDescriçãoObrigatório
cURLResourceCharacterURL do recurso/serviço a ser acessado.X
cMethod     CharacterString com método a ser utilizado na requisição. ("GET" ou "POST").
cQuery      CharacterString com "query params" a serem enviados na requisição. 
cBodyCharacterString a ser enviada como "body" da requisição.
aHeadOut    ArrayArray 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