4D NetKit: Utilize as portas de anfitrião do seu servidor Web para obter a resposta de autenticação OAuth 2.0

Ao usar a autenticação OAuth 2.0 com 4D NetKit, deve definir um URI de redirecionamento para indicar onde o servidor OAuth 2.0 deve retornar o resultado da autenticação. Com 4D 20 R9, agora pode usar o endereço e portas de seu servidor web anfitrião para recuperar suas respostas de autenticação. Este melhoramento simplifica o processo de autenticação, previne conflitos de portas, e melhora a segurança.

$credential:={}
$credential.name:="Microsoft"   // ou "Google
$credential.permission:="signedIn"
$credential.clientId:="bbbxxx"
$credential.redirectURI:="http://127.0.0.1:80/authorize/"
var $provider:=cs.NetKit.OAuth2Provider.new($credential)

Ao usar cs. NetKit. OAuth2Provider. new( $credential), 4D NetKit determina se deve usar o servidor web do host ou o servidor web do componente 4D NetKit com base no URI de redirecionamento especificado.

  • Se a porta redirectURI corresponder à porta do servidor web hospedeiro, 4D NetKit usará automaticamente o servidor web hospedeiro para obter respostas de autenticação.

  • Se a porta for omitida, as portas padrão serão usadas:

    • O servidor web do host é usado se o banco de dados do host está configurado com a porta padrão (Porta 80 para HTTP e porta 443 para HTTPS).

    • Caso contrário, o servidor web 4D NetKit é usado.

  • Para qualquer outro caso, 4D NetKit usa por padrão seu próprio servidor web interno.

Exemplo de RedirectURI baseado na configuração do Host Web Server com porta HTTP = 80

  • Usando a porta 4D host → servidor 4D host é usado

    $param.redirectURI:="http://127.0.0.1:80/authorize/"
  • Omissão da porta, a porta HTTP por defeito é 80 → é utilizado o servidor anfitrião 4D

    $param.redirectURI:="http://127.0.0.1/authorize/"
  • Usando uma porta personalizada → 4D NetKit server é usado

    $param.redirectURI:="http://127.0.0.1:50993/authorize/"

Manipulando respostas de autenticação com um manipulador HTTP

Se o servidor web do host for usado para autenticação, os desenvolvedores devem adicionar um manipulador de HTTP no banco de dados do host. Isso garante que as respostas de autenticação sejam recebidas e processadas corretamente.

Quando permission=”signedIn” e 4D NetKit usar o servidor web do host, o seguinte manipulador deve ser adicionado ao arquivo Project/Sources/HTTPHandlers.json:

[
{
"class": "NetKit.OAuth2Authorization",
"method": "getResponse",
"regexPattern": "/authorize",
"verbs": "get"
}
]

Conclusão

Usando as novas melhorias de autenticação OAuth 2.0 em 4D NetKit, os desenvolvedores podem simplificar seu processo de autenticação assegurando compatibilidade com a configuração de seu servidor web.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.