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.