160 likes | 360 Views
CAS Proxy Protocol. By Matthew Selwood Web and Identity Services Developer – Web Services University of Victoria. CAS. CAS Proxy Client. User. Proxy Service. TGC. -User is already authenticated (possesses TGC). CAS. CAS Proxy Client. /login – TGC. User. Proxy Service. TGC.
E N D
CAS Proxy Protocol By Matthew Selwood Web and Identity Services Developer – Web Services University of Victoria
CAS CAS Proxy Client User Proxy Service TGC -User is already authenticated (possesses TGC)
CAS CAS Proxy Client /login – TGC User Proxy Service TGC -User tries to access resource
CAS CAS Proxy Client /login – TGC ST User Proxy Service TGC -User is already authenticated and returns with Service Ticket
CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL /login – TGC ST User Proxy Service TGC
HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL /login – TGC // PGT ST pgtIOU.plain User Proxy Service TGC -Callback from CAS that stores the pgtIOU on the proxy client
HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL /login – TGC // PGT ST pgtIOU.plain User Proxy Service TGC
pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT ST pgtIOU.plain User Proxy Service TGC -Response to /proxyValidate -Use the pgtIOU to determine the PGT
/proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT ST pgtIOU.plain User Proxy Service TGC
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT ST pgtIOU.plain User Proxy Service TGC
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT PT ST pgtIOU.plain User Proxy Service TGC
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT PT ST pgtIOU.plain User Proxy Service TGC /proxyValidate - PT -CAS server checks that referer URL = targetService
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC // PGT PT ST pgtIOU.plain User Proxy Service TGC /proxyValidate - PT ID
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC Proxy Service Response // PGT PT ST pgtIOU.plain User Proxy Service TGC /proxyValidate - PT ID
PT /proxy – targetService, PGT pgtIOU HTTP – 200(OK) HTTP GET /pgtURL - pgtIOU, PGT CAS CAS Proxy Client /proxyValidate – ST, pgtURL=client URL PGT /login – TGC Proxy Service Response // PGT PT ST pgtIOU.plain User Proxy Service TGC /proxyValidate - PT ID