integration of n tiers application
play

Integration of N-tiers application Using CAS Single Sign On system - PowerPoint PPT Presentation

Integration of N-tiers application Using CAS Single Sign On system with a webmail application, Horde K.U.Leuven Association velpi@groupt.be http://shib.kuleuven.be Integration of N-tiers application http://associatie.kuleuven.be/


  1. Integration of N-tiers application Using CAS Single Sign On system with a webmail application, Horde K.U.Leuven Association velpi@groupt.be http://shib.kuleuven.be

  2. Integration of N-tiers application http://associatie.kuleuven.be/ velpi@groupt.be 2

  3. Integration of N-tiers application Integration of N-tiers application Introducing CAS Proxy CAS login scenario Implementing proxy CAS Beyond... velpi@groupt.be 3

  4. Integration of N-tiers application Introducing CAS: the project Originally developed by Yale University JA-SIG project since December 2004 http://www.ja-sig.org/products/cas/ velpi@groupt.be 4

  5. Integration of N-tiers application Introducing CAS: the technology • Originally open-source WebISO • Loosely based on Kerberos *model* • Server: Java & Spring framework Client: lots of implementations + libs available (with source) velpi@groupt.be 5

  6. Integration of N-tiers application Introducing CAS: the protocol XML http://www.ja-sig.org/products/cas/overview/protocol/index.html velpi@groupt.be 6

  7. Integration of N-tiers application Introducing CAS: N-tiers Proxy CAS http://www.ja-sig.org/wiki/display/CAS/Proxy+CAS+Walkthrough velpi@groupt.be 7

  8. Integration of N-tiers application Proxy CAS: the problem space • Passwords are passing all “clients” • Credentials have to be cached • Caching has to be done in plain text velpi@groupt.be 8

  9. Integration of N-tiers application Proxy CAS: a solution • One-time “passwords” • Passwords are replaced by “tickets” • One-time=request new for next authN velpi@groupt.be 9

  10. Integration of N-tiers application Integration of N-tiers application Introducing CAS Proxy CAS login scenario Implementing proxy CAS Beyond... velpi@groupt.be 10

  11. login scenario Integration of N-tiers application • BROWSER: cookies enabled BROWSER velpi@groupt.be 11

  12. login scenario Integration of N-tiers application CAS SERVER • CAS: a trusted arbiter of authenticity BROWSER velpi@groupt.be 12

  13. login scenario Integration of N-tiers application CAS SERVER Performance enhancement • Service: webapp that authenticates users via CAS IMAP PROXY • Proxy: service that wants to access other services on behalf of a particular user Horde / IMP with BROWSER phpCAS CLIENT velpi@groupt.be 13

  14. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS • Target (back-end service): service that accepts proxied credentials from at least one particular proxy IMAP PROXY Horde / IMP with BROWSER phpCAS CLIENT velpi@groupt.be 14

  15. Integration of N-tiers application login scenario: the players • CAS: a trusted arbiter of authenticity CAS • Service: webapp that authenticates users via CAS Horde • Proxy: service that wants to access other services on behalf of a particular user IMP • Target (back-end service): service that accepts proxied credentials from at least one particular proxy IMAP velpi@groupt.be 15

  16. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS IMAP PROXY Horde / IMP with BROWSER phpCAS CLIENT velpi@groupt.be 16

  17. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS IMAP PROXY Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER phpCAS CLIENT velpi@groupt.be 17

  18. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS IMAP PROXY (+TGC) Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 18

  19. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS (LOGIN PAGE) (LT) (CREDENTIALS) IMAP PROXY (LT) (+TGC) Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 19

  20. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS ST (LOGIN PAGE) (LT) (CREDENTIALS) IMAP PROXY (LT) (+TGC) (SET TGC) Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 20

  21. Integration of N-tiers application login scenario: Credentials OR TicketGrantingCookie (TGC) response Redirect to: http://webmail.mydomain.org/?ticket=TICKET eg TICKET=ST-38815-m09bXdf770aEJfq9VsotayLh6OyE0MoovLM-20 velpi@groupt.be 21

  22. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS ST (LOGIN PAGE) (LT) (CREDENTIALS) IMAP PROXY (LT) (+TGC) (SET TGC) Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 22

  23. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS ST (LOGIN PAGE) (LT) (CREDENTIALS) IMAP PROXY (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 23

  24. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PGTIOU ST (LOGIN PAGE) PGT (LT) (CREDENTIALS) IMAP PROXY (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 24

  25. Integration of N-tiers application login scenario: ServiceTicket (ST) validation 1/2 CAS server requests : http://webmail.mydomain.org/casProxy.php ?pgtIou= PGTIOU &pgtId= PGT eg PGT=TGT-38815-m09bXdf770aEJfq9VsotayLh6OyE0MoovLM-20 velpi@groupt.be 25

  26. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PGTIOU ST (LOGIN PAGE) PGT (LT) (CREDENTIALS) IMAP PROXY (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 26

  27. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (CREDENTIALS) IMAP PROXY (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 27

  28. Integration of N-tiers application login scenario: ServiceTicket (ST) validation 2/2 <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationSuccess> <cas:user> NetID </cas:user> <cas:proxyGrantingTicket> PGTIOU </cas:proxyGrantingTicket> </cas:authenticationSuccess> </cas:serviceResponse> velpi@groupt.be 28

  29. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (CREDENTIALS) IMAP PROXY (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 29

  30. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PT PT PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (CREDENTIALS) IMAP PROXY S2 PGT (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 30

  31. Integration of N-tiers application login scenario: ProxyGrantingTicket (PGT) response <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:proxySuccess> <cas:proxyTicket> PT </cas:proxyTicket> </cas:proxySuccess> </cas:serviceResponse> velpi@groupt.be 31

  32. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PT PT PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (CREDENTIALS) IMAP PROXY S2 PGT (LT) pgt-url ok? (+TGC) (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 32

  33. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PT PT NETID PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (PT) (CREDENTIALS) IMAP PROXY S2 PGT NETID (LT) pgt-url ok? (+TGC) PT (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 33

  34. login scenario Integration of N-tiers application PAM IMAP with CAS SERVER SERVER PAM_CAS PT PT NETID PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (PT) (CREDENTIALS) IMAP PROXY S2 PGT NETID (LT) pgt-url ok? (+TGC) PT (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 34

  35. login scenario Integration of N-tiers application =? PAM NETID S1(proxy[]) IMAP with CAS SERVER SERVER PT S2 PAM_CAS PT PT NETID PGTIOU ST (LOGIN PAGE) NETID PGTIOU PGT (LT) (PT) (CREDENTIALS) IMAP PROXY S2 PGT NETID (LT) pgt-url ok? (+TGC) PT (SET TGC) PGT-URL ST S1 Horde / IMP HTTP REQ (PHP-SESSION) with BROWSER S1 phpCAS CLIENT velpi@groupt.be 35

  36. Integration of N-tiers application login scenario: ProxyTicket (PT) validation <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationSuccess> <cas:user> NetID </cas:user> <cas:proxyGrantingTicket> PGTIOU </cas:proxyGrantingTicket> <cas:proxies> <cas:proxy> proxy1 </cas:proxy> <cas:proxy> proxy2 </cas:proxy> ... </cas:proxies> </cas:authenticationSuccess> </cas:serviceResponse> velpi@groupt.be 36

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend