Autenticação externa (Via CAS) Pessoal, to precisando de ajuda para fazer uma aplicação baseada no template, só que ao invés de ter a tela de login , seria redirecionado para uma aplicação externa que faz o login (quando autentico nesta aplicação externa , já me retorna o email da pessoa). Estou baseando neste exemplo: ...
LJ
Autenticação externa (Via CAS)  
Pessoal, to precisando de ajuda para fazer uma aplicação baseada no template, só que ao invés de ter a tela de login , seria redirecionado para uma aplicação externa que faz o login (quando autentico nesta aplicação externa , já me retorna o email da pessoa).
Estou baseando neste exemplo:
 
  1. <?php
  2. // https://calnetweb.berkeley.edu/calnet-technologists/cas/casifying-your-web-application-or-web-server/cas-code-samples/cas
  3. $casService = 'https://servidor.com.br/cas-server';
  4. $thisService = 'https://localhost' . $_SERVER['PHP_SELF'];
  5. /*
  6. * Check to see if there is a ticket in the GET request.
  7. * CAS uses "ticket" for the service ticket. Bad choice of words, but
  8. * it is what CAS uses.
  9. *
  10. * If the ticket exists, validate it with CAS. If not, redirect the user
  11. * to CAS.
  12. *
  13. * Of course, you will want to hook this in with your application's
  14. * session management system, i.e., if the user already has a session,
  15. * you don't want to do either of these two things.
  16. *
  17. */
  18. if ($_SERVER["REQUEST_METHOD"] && $_GET["ticket"]) {
  19. if ($response = responseForTicket($_GET["ticket"])) {
  20. echo 'o email é '.$response;
  21. }
  22. else {
  23. echo "26-The response was not valid.".'<br>';
  24. }
  25. }
  26. else {
  27. header("Location: $casService/login?service=$thisService");
  28. }
  29. //* Returns the CAS response if the ticket is valid, and false if not.
  30. function responseForTicket($ticket) {
  31. global $casService, $thisService;
  32. $casGet = "$casService/serviceValidate?ticket=$ticket&service=" . urlencode($thisService);
  33. $response = file_get_contents($casGet);
  34. if (preg_match('/cas:authenticationSuccess/', $response)) {
  35. return $response;
  36. }
  37. else {
  38. return false;
  39. }
  40. }
  41. ?>


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (0)