+ All Categories
Home > Technology > Getting Started with CAS

Getting Started with CAS

Date post: 14-Apr-2017
Category:
Upload: misagh-moayyed
View: 417 times
Download: 5 times
Share this document with a friend
37
Open Apereo 2016 100% Open for Education Getting Started with CAS Misagh Moayyed
Transcript
Page 1: Getting Started with CAS

Open Apereo 2016100% Open for Education

Getting Started with CASMisagh Moayyed

Page 2: Getting Started with CAS

Hello, World!

5 years @ Unicon, 7 years @ Apereo

IAM (TIER, CAS, Shibboleth, Grouper, etc)

CAS/Grouper PMC

@misagh84 @mmoayyed

Page 3: Getting Started with CAS

Leading provider of IT consulting, services, and support specializing in open source for education technology

Services and support for these fine Apereo projects:

Page 4: Getting Started with CAS

Let’s

Introduction

Server Overview

Deployment, Configuration, Features, etc.

Clients Overview

Q/A

Page 5: Getting Started with CAS

What is CAS?http://apereo.github.io/cas/

Free/Open source enterprise SSOfor all earthlings

Open well-documented protocol

Server software; with many clients

Page 6: Getting Started with CAS
Page 7: Getting Started with CAS

ProtocolTicket [Cookie] based

Login ⇨ Ticket Received ⇨ Ticket Validated ⇨

Similar to OAuth2 / OpenID Connect

Slightly less insane (No payload encryption/signing)

Can be insane (N-tiered/Proxy AuthN)

Thou MUST trust SSL

Page 8: Getting Started with CAS

Basically…

Page 9: Getting Started with CAS

It’s NOT about the protocol.

Page 10: Getting Started with CAS

Server ImplementationsApereo CAS (Java)Shibboleth IdP v3.x (Java)SimpleSAMLphp (PHP)RubyCAS (Ruby)

CASino (Ruby)

txCAS (python)

Page 11: Getting Started with CAS

Apereo Server Java 8, Spring, Spring Boot, Thymeleaf, Servlet 3+

100+ modules

Deployed as a Maven/Gradle “overlay”

Page 12: Getting Started with CAS

Demo

Page 13: Getting Started with CAS

Build

https://git.io/vr2Ra (Maven)

https://git.io/vr2Rw (Gradle Overlay)

https://git.io/vr2R2 (Gradle Plugin)

Page 14: Getting Started with CAS

Demo

Page 15: Getting Started with CAS

Deployment

Standalone executable war

External servlet container

Tomcat 8, Jetty 9, Wildfly 10, etc

Page 16: Getting Started with CAS

Demo

Page 17: Getting Started with CAS

Externalized Configurationhttps://git.io/vr2R6

Page 18: Getting Started with CAS

“But, moooom…I have a cluster”

Monitor. Refresh. Notify.

POST to /bus/refresh

Every node is on the Cloud Bus (AMQP).

...and refreshes its context when notified.

What do you do? Nothing.

Page 19: Getting Started with CAS

Auto-Configuration

Auto-configure the application context

Intention-driven development

You’re really making Pizza.

Page 20: Getting Started with CAS

XML/Groovy Configuration

Extensions can be defined via:

XML

Groovy

Groovy beans are automatically loaded/monitored

Page 21: Getting Started with CAS

Demo

Page 22: Getting Started with CAS

Administration

Peek into the application runtime

Status, Health, Threads, Settings, Mappings, etc

Administrative runtime control

Shutdown, Restart, Refresh, etc

Page 23: Getting Started with CAS

Demo

Page 24: Getting Started with CAS

Application Registrationhttps://git.io/vr2R7

Service definitions can be managed via

JSON, LDAP, MongoDb, JPA, Couchbase

Use the “Services Management” interface

Page 25: Getting Started with CAS

Demo

Page 26: Getting Started with CAS

Multifactor Authenticationhttps://git.io/vr2Rb

CAS supports the following MFA providersDuo Security, Google Authenticator, RADIUS, YubiKey

Triggers are:Opt-in, per app, per attribute, per app/attribute, global

Failure modes:NONE, CLOSED, OPENED, PHANTOM

Page 27: Getting Started with CAS

CAS AuthN Event TrackingRecord authentication events

Includes supports for Geo Location

Persistence managed by MongoDb, JPA

Used to evaluate AuthN Request “risk score”

Page 28: Getting Started with CAS

Delegated AuthenticationCAS can delegate authentication to:

CAS

SAML2 IdP

Facebook, Twitter, Google+, etc

ADFS

Page 29: Getting Started with CAS
Page 30: Getting Started with CAS

CAS Groovy Shellhttps://git.io/vr20k

Access CAS runtime via Groovy Console

Ensure connection is SECUREGroovy Scriptlets are monitored/reloaded

Page 31: Getting Started with CAS

CAS as SAML2 IdPProduce SAML2 metadata

Consume RP metadata

Support for Metadata Aggregates (InCommon)

Support for MDQ protocol

Page 32: Getting Started with CAS

CAS as OIDC OPBuilt atop CAS OAuth2

Dynamic Discovery

AuthZ Code/Implicit workflow

Claims resolution/release

Page 33: Getting Started with CAS

OthersService Access Strategies/PropertiesREST API to manage servicesBasic & JWT AuthNNew ticket registry options:

Redis, Cassandra, Couchbase, IgniteGoogle AnalyticsWeb Session Replication via

Hazelcast, Redis, Mongo

Page 34: Getting Started with CAS

Apereo Clients .NET: https://git.io/vr20XJava: https://git.io/vr201PHP: https://git.io/vr20DApache: https://git.io/vr20S

Unofficial clients:https://goo.gl/csga6W

Page 35: Getting Started with CAS

CAS NextAdministrator User Interfaces

Logging, Settings, Statistics

Risk-based Adaptive AuthN

Improve SAML2/OIDC protocol support

More declarative configuration

Page 36: Getting Started with CAS

Resources

@misagh84 @mmoayyed

Mailing Lists: https://git.io/vr20V

Gitter: https://gitter.im/apereo/cas

Stackoverflow: http://goo.gl/Y62JW3

Page 37: Getting Started with CAS

Q/A


Recommended