Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page Properties


Project TitleCampus API Gateway
JIRA Project
Project Lead
Project Team



Background & Business Value

Provide a secure and standardized way to access resources through the Campus API Gateway.

Goals

  • Use OAuth2 (or something similar)
  • Provide secure access to data (P1 and up)

Out of Scope

  • Defining Authorization/Permissions System(s)

What we would like from Campus IdM

Poorly Used Terms

  • Campus API Gateway and Apigee can be used interchangeably (unless otherwise specified).
  • Campus IdM can refer to PingIdentity, PingFederate, CAS 3.0, Shibboleth,  OAuth 2.0 Authorization Server or OpenId Authorization Server.
    • The definition should be understandable from the context. If not clear, the text should be clarified and updated.

Assumptions


Initial Requirements Outline

NameUser Token
in Application
App Token
in Application
User Token
in Browser
App Token
in Browser

App OAuth
in API Gateway
User OAuth
in API Gateway
OAuth Lookup
in Resource Server
Application
to Campus API Gateway

X

X(not expected)
Application
to Resource Server

X

X(not expected)X
Application w/ User
to Resource Server
XX

X(not expected)X
SSO Application w/ User
to Resource Server
XX

X(not expected)X

Browser App
to Campus API Gateway

(not suggested*)




XX(not expected)
Browser App
to Resource Server

(not suggested*)



XX(not expected)X
Browser App w/ User
to Resource Server

(not suggested*)


XXX(not expected)X
SSO Browser App w/ User
to Resource Server

(not suggested*)


XXX(not expected)X
SSO Single Page Application Alt
(All Code Runs in Browser)

(not suggested*)


XXX(not expected)X


* = Browsers Apps are not suggested because security through the API Gateway is based upon the Client Application (Web Application) permissions. In all scenarios the Authentication Token for the Client Application can't be securely used in a browser. However, we understand that it will happen, so there is some guidance within the documentation.

Requirements Documents

Create from Template
blueprintModuleCompleteKeycom.atlassian.confluence.plugins.confluence-software-blueprints:requirements-blueprint
contentBlueprintIdc46e4a85-24f6-436b-a11a-aa6e91810944
templateNamec46e4a85-24f6-436b-a11a-aa6e91810944
titleProduct Requirements
buttonLabelAdd New Requirements

Page Properties Report
headingsDocument Status, Document Sign-Off
sortByTitle
cqllabel = "requirements" and space = currentSpace() and ancestor = currentContent()

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcomeDecision Date

Can CAS do all the things OAuth does without the need for pre-registering Service Accounts? How does it handle the implicit grant scenario? Is CAS a protocol or a product?

What is Shibboleth and how does it fit into all this?

Shibboleth is an Open Source SSO Federation system.