CAS Proxying and Web Services The somewhat “easy way” Presented By: Joseph Mitola Programmer/Analyst Office Of The Registrar.

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 16 Introduction to Ajax.
Advertisements

Digital Certificate Installation & User Guide For Class-2 Certificates.
Overview of Twitter API Nathan Liu. Twitter API Essentials Twitter API is a Representational State Transfer(REST) style web services exposed over HTTP(S).
Central Authentication Service (CAS). What is CAS? JA-SIG Central Authentication Service is an enterprise level, open-source, single sign on solution.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Grid Computing, B. Wilkinson, 20045a.1 Security Continued.
DEVELOPER DAY BEFORE WE START, PLEASE VISIT AND SIGN UPWWW.PAYNOW.CO.ZW.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Lecture 23 Internet Authentication Applications
UPortal and the Yale Central Authentication Service Drew Mazurek ITS Technology & Planning Yale University JA-SIG Summer Conference ‘04 Denver, CO June.
Dynamic Web Pages. Web Programming  All our web pages so far have been static pages. 1. We create a web page 2. We upload it to the web server 3. People.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Secure Applications.
Smart Card Single Sign On with Access Gateway Enterprise Edition
TIMS LOGIN AND APPLICATION INFORMATION Spring
Session 11: Security with ASP.NET
JavaScript & jQuery the missing manual Chapter 11
Jeff Shiley. Start Point System Environment User Experience Our “Unique” Requirements Solution System Evaluation & Prototype Single Sign-on Component.
CSCI 6962: Server-side Design and Programming Web Services.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
1 Web services and security ---discuss different ways to enforce security Presenter: Han, Xue.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
ArcGIS Server and Portal for ArcGIS An Introduction to Security
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
External user invited This creates invitation in Access Request List Invitation sent to guest with invitation URL Guest clicks URL. Verification.
Web Authentication at Iowa Ed Hill Software Developer The University of Iowa.
XHTML & Forms. PHP and the WWW PHP and HTML forms – Forms are the main way users can interact with your PHP scrip Typical usage of the form tag in HTML.
Module 11: Securing a Microsoft ASP.NET Web Application.
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
Integrating and Troubleshooting Citrix Access Gateway.
UMBC’s WebAuth Robert Banz – UMBC
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
ASP. What is ASP? ASP stands for Active Server Pages ASP is a Microsoft Technology ASP is a program that runs inside IIS IIS stands for Internet Information.
Secure Online Payment Presented by Tom Hun Web Developer.
ECMM6018 Enterprise Networking for Electronic Commerce Tutorial 7
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Services Security A. Casajus R. Graciani. 12/12/ Overview DIRAC Security Infrastructure HSGE Transport Authentication Authorization DIRAC Authorization.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Combining ArcGIS for Server & ArcGIS Online Julia Guard and Matt Monson.
1 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
AJAX. Overview of Ajax Ajax is not an API or a programming language Ajax aims to provide more responsive web applications In normal request/response HTTP.
1 AHM, 2–4 Sept 2003 e-Science Centre GRID Authorization Framework for CCLRC Data Portal Ananta Manandhar.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Unit-6 Handling Sessions and Cookies. Concept of Session Session values are store in server side not in user’s machine. A session is available as long.
LOGIN FORMS.
Introduction to Terra Dotta Applications Integration with Campus Data Systems for institutions beginning their software implementation.
Business Objects XIr2 Windows NT Authentication Single Sign-on 18 August 2006.
Digital Gujarat Portal – Citizen User Manual. How Do I Open A Portal? Go to the URL :- Screen 1.1:-
Data and tools on the Web have been exposed in a RESTful manner. Taverna provides a custom processor for accessing such services.
ArcGIS for Server Security: Advanced
Training Objectives About D2F Download Installation Configuration
Web Development Web Servers.
Section 13 - Integrating with Third Party Tools
Chapter 8 Building the Transaction Database
Jim Fawcett CSE686 – Internet Programming Summer 2005
Using SSL – Secure Socket Layer
IS333D: MULTI-TIER APPLICATION DEVELOPMENT
Created by : Ashish Shah, J.M. PATEL COLLEGE OF COMMERCE
Created by : Ashish Shah, J.M. PATEL COLLEGE OF COMMERCE
Mary Montoya, CIO Bogi Malecki, Project Manager
Chapter 42 Web Services.
PHP Forms and Databases.
Electronic Payment Security Technologies
Presentation transcript:

CAS Proxying and Web Services The somewhat “easy way” Presented By: Joseph Mitola Programmer/Analyst Office Of The Registrar

Application Inventory Things to consider when CAS-enabling your applications 1) Is your application a good candidate to act as a “CAS Proxier” or a main application that calls one or more “CAS Proxies”?  Does it serve as a web application portal?  Is it a “main entry point” that references other “CAS-enabled” applications? 2) Is your application a good candidate to act as a “CAS Proxy”?  Does it provide a re-useable service?  Can a major function of your application be converted into a web service? Or maybe many functions can be converted into a web service API? 3) Do both of the above apply? 4) Is your application just a simple CalNet authenticated application?  Does NOT provide any re-useable services and/or does NOT serve as a “main entry point” or portal.

Basic CAS Authentication A user makes a request to your application Your application returns a form with an action to post to CAS and the URL of the your application included so CAS can redirect back to your application  Your identity must be verified by CalNet. User is sent to CAS where they provide their CalNet authentication credentials. If the CAS login is valid, CAS redirects back to your application with a CAS “ticket” in the query string of your application’s URL. Your application then makes an HTTP post or get request to CAS (NOT a redirect) calling the serviceValidate method and providing the “ticket” and “service” arguments.  string received from CAS in previous step}”&service=“{your application's URL}” CAS verifies the ticket provided by your application and returns a success or failure status indication response in XML  {CalNet ID} OR ticket 'ST-8-qmKXGzftOK12k4Pa1dgXPRWtGaEsIlGbdoX-20' not recognized

CAS Proxy Authentication Applications that implement CAS can be modified to use CAS Proxy with relatively few changes....  The bulk of the changes needed are to the main “entry point” application or portal and NOT so much to the application or web service being proxied The URL used by your “main entry-point application” to validate the ticket and the arguments sent to CAS differ slightly  Basic CAS Login URL and Arguments string received from CAS}”&service=“{your application's URL}”  CAS Proxy URL and Arguments string received from CAS}”&service=“{your application's URL}”&pgtUrl=“{your proxy callback URL}” When you add the pgtUrl argument to the serviceValidate method when making a request to CAS, you will receive slightly different results  Not using the pgtUrl argument {CalNet ID}  Using the pgtUrl argument {CalNet ID} {proxy granting ticket IOU} CAS will independently contact the application specified by pgtUrl (pgtUrl is your “Proxy Callback URL”). It MUST reside on a secure server with a valid VeriSign or RSA Authority SSL Certificate enabled

CAS Proxy Authentication If your Proxy Callback URL is on the same application directory as your “main entry point” application, it can share application variables. Assuming this is the case, it can store the pgtIou/pgtId pair in an Application variable (e.g. Application( ) = ) when CAS sends a request to it  Application(Request.QueryString.Item("pgtIou")) = Request.QueryString.Item("pgtId") The main (Proxier) application retrieves the pgtId value from the Application variable stored by the pgtUrl and then makes an HTTP post or get request to CAS calling the proxy method this time passing in the targetService and pgt arguments  proxy application URL}”&pgt=“{value of the Application( ) variable}” The main (Proxier) application retrieves the “real proxy ticket” from CAS  PT-957-ZuucXqTZ1YcJw81T3dxf The main (Proxier) application makes either a SOAP-like web service request OR a Representational state transfer (REST) request sending in the proxy application arguments along with the required proxyTicket argument. The CAS Proxied application checks for the presence of a “proxyTicket” in it’s URL query string. If one exists, it makes an HTTP post or get to CAS specifying the proxyValidate method.  value of the proxyTicket in your proxy application’s URL}”&service=“{your proxy application URL}” CAS verifies the proxyTicket provided by the CAS proxied application and returns a success or failure status indication response in XML  {CalNet ID} {the proxy callback URL}

A Visual Representation

A “real life” Example The Hello World CAS Proxy Web Service 

Sign On to “CAS Proxier”

Call Proxy from Main Application If the proxy application handled arguments, you would enter those here Clicking here calls the CAS Proxy and sends a valid proxy ticket along with any other application specific arguments

Receive Proxy response without leaving Main application The text in blue is the returned response from the Hello World web service. Note that it knows who I am and what CAS proxies has called it, even though the only argument I sent it was a CAS proxy ticket. Also, note that I have never left the Main application. The CAS proxied application response is embedded

Online Resources Documentation on integrating CAS Authentication with Forms Authentication in ASP.Net 2.0  ASP.NetCASAuth.pdf ASP.NetCASAuth.pdf  sig.org/wiki/display/CASC/CAS+Proxying+with+Classic+ASP sig.org/wiki/display/CASC/CAS+Proxying+with+Classic+ASP CAS Proxying with Classic ASP  sig.org/wiki/display/CASC/CAS+Proxying+with+Classic+ASP sig.org/wiki/display/CASC/CAS+Proxying+with+Classic+ASP Tom O'Brien has an online demo on CAS Proxy Authentication  Some excerpts from this presentation were taken from Tom O'Brien’s documentation 