SlideShare une entreprise Scribd logo
1  sur  15
OTTO Overview
Open Trust Taxonomy for Federation Operator
Kantara OTTO Working Group
Michael Schwartz, co-chair
Janusz Ulanowski, co-chair
Design Goals
• Facilitate publication of federation data for multiple technologies
• SAML
• OAuth,
• PKI
• Other services
• Define interoperable API’s that empower fine-grain discovery
• Participants (request metadata from one or more participants)
• Roles (search for specific entities, types of entities, or categories of entities)
• Schema: user attributes, acr, amr
• Security Policies and procedures: i.e. trust marks, software statements
• Create an architecture for inter-federation that avoids duplication of data
JSON-LD data model
• Linked data model convenient for describing federation inter-relationships.
• Uses standard schema described in https://schema.org where possible;
extend common schema at Kantara; provides for further extension by RA’s
or FO’s.
• Can be converted to RDF and processed by standard tools.
• Developer friends—looks like JSON, and linked data features can be
ignored by those who don’t care.
• Consistent with new design being developed by W3C verifiable claims task
group.
• See https://www.w3.org/TR/json-ld/#basic-concepts
Federation endpoint
POST /federation Create federation
GET /federations Get list of federations hosted by RA
GET /federations/{id} Get a specific federation
GET /federations/{id}/jwks Get federation key set
PUT /federations/{id} Edit federation
POST /federations/{federationid}/{entityid} Join existing entity to federation
POST /federations/{federationid} Create entity and join federation
DELETE /federations/{id} Remove federation
DELETE /federations/{id}/{entityid} Remove entity from federation
Federation entity endpoint
POST /federation_entity Create federation entity
GET /federation_entity Get list of federation entities ids
GET /federation_entity/{id} Get a specific federation entity
PUT /federation_entity/{id} Edit federation entity
DELETE /federation_entity/{id} Remove federation
Organization Endpoint
POST /organization Create organization
GET /organization Get list of organizations hosted by RA
GET /organization/{id} Get a specific organization
PUT /organization/{id} Edit organization
POST /organization/{oid}/federation/{federationid} Add organization to federation
POST /organization/{oid}/federation_entity/{federation_entity_id} Associate organization with entity
DELETE /organization/{id} Remove organization
Discovery Endpoints
GET /otto/.well-known/otto-configuration Federation endpoints, supported algs
DELETE /jwks JSON key set for RA
Parameter: depth
• Specify which objects you want to return
GET /federations/1234?depth=federations.organization
Only return organization entities
Paramater: filter
• Using JSPath query syntax: https://github.com/dfilatov/jspath
GET /federations?filter=.entities{.name=“MyWebsite”}
Only return entity with this name…
Parameter: sign
• Sign either a complete or partial result set
GET /federations/1234/sign=true&alg=RS512
Return signed JWT …
Test Implementation
• Server was written to demonstrate feasibility
• MongoDB was used as the backend—loose schema
• Performance was tested with 10,000 entries
• Query and filter features seem to scale
• MIT license
Next steps
• Need to finalize schema – both keys and values
• Organizations
• SAML, OpenID, UMA Entities
• Software statements
• Trustmarks
• User schema (eduperson)
• ACR / AMRs
• Need to convert technical spec to English with good examples
• Need writers!
• Need to pilot
What about OpenID Connect federation draft?
• Complimentary
• OTTO would facilitate the creation of federations such as the kind imagined
by the OIDC federation spec.
• OIDC spec doesn’t say where|how the federation publishes its keys
• It also doesn’t address issues beyond OpenID Connect
• It has no automated discovery capabilities – for example how would the
federation publish information about supported schema or trustmarks?
Links
• Join the WG: http://www.gluu.co/join-otto
• Github Project: https://github.com/KantaraInitiative/wg-otto
• Test code: https://github.com/GluuFederation/otto-node
• Swagger UI for test code: http://otto-test.gluu.org/swagger/
• OTTO test data generator: http://otto-test.gluu.org:8080/

Contenu connexe

Tendances

Drupal 8 as a mobile backend
Drupal 8 as a mobile backendDrupal 8 as a mobile backend
Drupal 8 as a mobile backend
Alkuvoima
 

Tendances (20)

FHIR Server internals - sqlonfhir
FHIR Server internals - sqlonfhirFHIR Server internals - sqlonfhir
FHIR Server internals - sqlonfhir
 
API
APIAPI
API
 
Furore devdays2017 tdd-2-advanced
Furore devdays2017 tdd-2-advancedFurore devdays2017 tdd-2-advanced
Furore devdays2017 tdd-2-advanced
 
Hibernate
HibernateHibernate
Hibernate
 
RESTFul Web API Services @ DotNetToscana
RESTFul Web API Services @ DotNetToscanaRESTFul Web API Services @ DotNetToscana
RESTFul Web API Services @ DotNetToscana
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to Elasticsearch
 
Fhir dev days 2017 fhir profiling - overview and introduction v07
Fhir dev days 2017   fhir profiling - overview and introduction v07Fhir dev days 2017   fhir profiling - overview and introduction v07
Fhir dev days 2017 fhir profiling - overview and introduction v07
 
CrossCheck iThenticate Admin Webinar
CrossCheck iThenticate Admin WebinarCrossCheck iThenticate Admin Webinar
CrossCheck iThenticate Admin Webinar
 
elasticsearch
elasticsearchelasticsearch
elasticsearch
 
Restful web services
Restful web servicesRestful web services
Restful web services
 
Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2
 
Do Logic Apps support error handling?
Do Logic Apps support error handling?Do Logic Apps support error handling?
Do Logic Apps support error handling?
 
Elasticsearch as a search alternative to a relational database
Elasticsearch as a search alternative to a relational databaseElasticsearch as a search alternative to a relational database
Elasticsearch as a search alternative to a relational database
 
Fire kit ios (r-baldwin)
Fire kit ios (r-baldwin)Fire kit ios (r-baldwin)
Fire kit ios (r-baldwin)
 
Profiling with clin fhir
Profiling with clin fhirProfiling with clin fhir
Profiling with clin fhir
 
Quiery builder
Quiery builderQuiery builder
Quiery builder
 
OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)
 
Drupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, BrusselsDrupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, Brussels
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!
 
Drupal 8 as a mobile backend
Drupal 8 as a mobile backendDrupal 8 as a mobile backend
Drupal 8 as a mobile backend
 

En vedette

DaaS/IaaS Forum Moscow - Ivo Murris
DaaS/IaaS Forum Moscow - Ivo MurrisDaaS/IaaS Forum Moscow - Ivo Murris
DaaS/IaaS Forum Moscow - Ivo Murris
Denis Gundarev
 
DaaS/IaaS Forum Moscow - Najat Messaoud
DaaS/IaaS Forum Moscow - Najat MessaoudDaaS/IaaS Forum Moscow - Najat Messaoud
DaaS/IaaS Forum Moscow - Najat Messaoud
Denis Gundarev
 
BriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
BriForum 2013 Chicago - Citrix Troubleshooting - Denis GundarevBriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
BriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
Denis Gundarev
 
DaaS/IaaS Forum Moscow - Chris Rogers
DaaS/IaaS Forum Moscow - Chris RogersDaaS/IaaS Forum Moscow - Chris Rogers
DaaS/IaaS Forum Moscow - Chris Rogers
Denis Gundarev
 

En vedette (20)

Trust Elevation: Implementing an OAuth2 Infrastructure using OpenID Connect &...
Trust Elevation: Implementing an OAuth2 Infrastructure using OpenID Connect &...Trust Elevation: Implementing an OAuth2 Infrastructure using OpenID Connect &...
Trust Elevation: Implementing an OAuth2 Infrastructure using OpenID Connect &...
 
LASCON: Three Profiels of OAuth2 for Identity and Access Management
LASCON: Three Profiels of OAuth2 for Identity and Access ManagementLASCON: Three Profiels of OAuth2 for Identity and Access Management
LASCON: Three Profiels of OAuth2 for Identity and Access Management
 
ID Next 2013 Keynote Slides by Mike Schwartz
ID Next 2013 Keynote Slides by Mike SchwartzID Next 2013 Keynote Slides by Mike Schwartz
ID Next 2013 Keynote Slides by Mike Schwartz
 
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
 
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainRSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
 
SAML Protocol Overview
SAML Protocol OverviewSAML Protocol Overview
SAML Protocol Overview
 
Gluu EDU Webinar: Shibboleth/SAML SSO
Gluu EDU Webinar: Shibboleth/SAML SSOGluu EDU Webinar: Shibboleth/SAML SSO
Gluu EDU Webinar: Shibboleth/SAML SSO
 
RUCUG: 9. Sergey Khalyapin: Представляем XenDesktop 5
RUCUG: 9. Sergey Khalyapin: Представляем XenDesktop 5RUCUG: 9. Sergey Khalyapin: Представляем XenDesktop 5
RUCUG: 9. Sergey Khalyapin: Представляем XenDesktop 5
 
DaaS/IaaS Forum Moscow - Ivo Murris
DaaS/IaaS Forum Moscow - Ivo MurrisDaaS/IaaS Forum Moscow - Ivo Murris
DaaS/IaaS Forum Moscow - Ivo Murris
 
DaaS/IaaS Forum Moscow - Najat Messaoud
DaaS/IaaS Forum Moscow - Najat MessaoudDaaS/IaaS Forum Moscow - Najat Messaoud
DaaS/IaaS Forum Moscow - Najat Messaoud
 
BriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
BriForum 2013 Chicago - Citrix Troubleshooting - Denis GundarevBriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
BriForum 2013 Chicago - Citrix Troubleshooting - Denis Gundarev
 
DaaS/IaaS Forum Moscow - Chris Rogers
DaaS/IaaS Forum Moscow - Chris RogersDaaS/IaaS Forum Moscow - Chris Rogers
DaaS/IaaS Forum Moscow - Chris Rogers
 
RSA Europe: Future of Cloud Identity
RSA Europe: Future of Cloud IdentityRSA Europe: Future of Cloud Identity
RSA Europe: Future of Cloud Identity
 
Cloud Identity: A Recipe for Higher Education
Cloud Identity: A Recipe for Higher EducationCloud Identity: A Recipe for Higher Education
Cloud Identity: A Recipe for Higher Education
 
The Tools I Use
The Tools I UseThe Tools I Use
The Tools I Use
 
Mule security - saml
Mule  security - samlMule  security - saml
Mule security - saml
 
Who Are You? From Meat to Electrons - SXSW 2014
Who Are You? From Meat to Electrons - SXSW 2014Who Are You? From Meat to Electrons - SXSW 2014
Who Are You? From Meat to Electrons - SXSW 2014
 
Briforum 2011 Chicago
Briforum 2011 ChicagoBriforum 2011 Chicago
Briforum 2011 Chicago
 
Citrix Internals: Tracing, Debugging & Troubleshooting
Citrix Internals: Tracing, Debugging & TroubleshootingCitrix Internals: Tracing, Debugging & Troubleshooting
Citrix Internals: Tracing, Debugging & Troubleshooting
 
RUCUG: 6. Fabian Kienle - NetScaler and Branch Repeater for Hyper-V
RUCUG: 6. Fabian Kienle - NetScaler and Branch Repeater for Hyper-VRUCUG: 6. Fabian Kienle - NetScaler and Branch Repeater for Hyper-V
RUCUG: 6. Fabian Kienle - NetScaler and Branch Repeater for Hyper-V
 

Similaire à Kantara OTTO slides

Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
brendonschwartz
 

Similaire à Kantara OTTO slides (20)

Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & RestoreLadies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
Ladies Be Architects - Integration - Multi-Org, Security, JSON, Backup & Restore
 
Practical OData
Practical ODataPractical OData
Practical OData
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and OData
 
SAP ODATA Overview & Guidelines
SAP ODATA Overview & GuidelinesSAP ODATA Overview & Guidelines
SAP ODATA Overview & Guidelines
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPI
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
Punta Dreaming by Luciano Straga #pd17 - Punta del Este, Uruguay
Punta Dreaming by Luciano Straga #pd17 - Punta del Este, UruguayPunta Dreaming by Luciano Straga #pd17 - Punta del Este, Uruguay
Punta Dreaming by Luciano Straga #pd17 - Punta del Este, Uruguay
 
Custom Metadata Types
Custom Metadata TypesCustom Metadata Types
Custom Metadata Types
 
Salesforce connect
Salesforce connectSalesforce connect
Salesforce connect
 
LeVan, "Search Web Services"
LeVan, "Search Web Services"LeVan, "Search Web Services"
LeVan, "Search Web Services"
 
RESTfulDay9
RESTfulDay9RESTfulDay9
RESTfulDay9
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?
 
Building Research Applications with Globus PaaS
Building Research Applications with Globus PaaSBuilding Research Applications with Globus PaaS
Building Research Applications with Globus PaaS
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Data access
Data accessData access
Data access
 

Plus de Mike Schwartz

Plus de Mike Schwartz (8)

LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthLASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
 
OTTO - Internet2 TechX 2017
OTTO - Internet2 TechX 2017OTTO - Internet2 TechX 2017
OTTO - Internet2 TechX 2017
 
The Client is not always right! How to secure OAuth authentication from your...
The Client is not always right!  How to secure OAuth authentication from your...The Client is not always right!  How to secure OAuth authentication from your...
The Client is not always right! How to secure OAuth authentication from your...
 
OAuth2 for IoT Security: Why OpenID Connect & UMA Are They Key
OAuth2 for IoT Security: Why OpenID Connect & UMA Are They KeyOAuth2 for IoT Security: Why OpenID Connect & UMA Are They Key
OAuth2 for IoT Security: Why OpenID Connect & UMA Are They Key
 
OpenID Connect vs. OpenID 1 & 2
OpenID Connect vs. OpenID 1 & 2OpenID Connect vs. OpenID 1 & 2
OpenID Connect vs. OpenID 1 & 2
 
Federation registry
Federation registryFederation registry
Federation registry
 
Single Sign On 101
Single Sign On 101Single Sign On 101
Single Sign On 101
 
Requirements for Personal Clouds : Tech Ranch Talk 8/7/13
Requirements for Personal Clouds : Tech Ranch Talk 8/7/13Requirements for Personal Clouds : Tech Ranch Talk 8/7/13
Requirements for Personal Clouds : Tech Ranch Talk 8/7/13
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Kantara OTTO slides

  • 1. OTTO Overview Open Trust Taxonomy for Federation Operator Kantara OTTO Working Group Michael Schwartz, co-chair Janusz Ulanowski, co-chair
  • 2. Design Goals • Facilitate publication of federation data for multiple technologies • SAML • OAuth, • PKI • Other services • Define interoperable API’s that empower fine-grain discovery • Participants (request metadata from one or more participants) • Roles (search for specific entities, types of entities, or categories of entities) • Schema: user attributes, acr, amr • Security Policies and procedures: i.e. trust marks, software statements • Create an architecture for inter-federation that avoids duplication of data
  • 3.
  • 4. JSON-LD data model • Linked data model convenient for describing federation inter-relationships. • Uses standard schema described in https://schema.org where possible; extend common schema at Kantara; provides for further extension by RA’s or FO’s. • Can be converted to RDF and processed by standard tools. • Developer friends—looks like JSON, and linked data features can be ignored by those who don’t care. • Consistent with new design being developed by W3C verifiable claims task group. • See https://www.w3.org/TR/json-ld/#basic-concepts
  • 5. Federation endpoint POST /federation Create federation GET /federations Get list of federations hosted by RA GET /federations/{id} Get a specific federation GET /federations/{id}/jwks Get federation key set PUT /federations/{id} Edit federation POST /federations/{federationid}/{entityid} Join existing entity to federation POST /federations/{federationid} Create entity and join federation DELETE /federations/{id} Remove federation DELETE /federations/{id}/{entityid} Remove entity from federation
  • 6. Federation entity endpoint POST /federation_entity Create federation entity GET /federation_entity Get list of federation entities ids GET /federation_entity/{id} Get a specific federation entity PUT /federation_entity/{id} Edit federation entity DELETE /federation_entity/{id} Remove federation
  • 7. Organization Endpoint POST /organization Create organization GET /organization Get list of organizations hosted by RA GET /organization/{id} Get a specific organization PUT /organization/{id} Edit organization POST /organization/{oid}/federation/{federationid} Add organization to federation POST /organization/{oid}/federation_entity/{federation_entity_id} Associate organization with entity DELETE /organization/{id} Remove organization
  • 8. Discovery Endpoints GET /otto/.well-known/otto-configuration Federation endpoints, supported algs DELETE /jwks JSON key set for RA
  • 9. Parameter: depth • Specify which objects you want to return GET /federations/1234?depth=federations.organization Only return organization entities
  • 10. Paramater: filter • Using JSPath query syntax: https://github.com/dfilatov/jspath GET /federations?filter=.entities{.name=“MyWebsite”} Only return entity with this name…
  • 11. Parameter: sign • Sign either a complete or partial result set GET /federations/1234/sign=true&alg=RS512 Return signed JWT …
  • 12. Test Implementation • Server was written to demonstrate feasibility • MongoDB was used as the backend—loose schema • Performance was tested with 10,000 entries • Query and filter features seem to scale • MIT license
  • 13. Next steps • Need to finalize schema – both keys and values • Organizations • SAML, OpenID, UMA Entities • Software statements • Trustmarks • User schema (eduperson) • ACR / AMRs • Need to convert technical spec to English with good examples • Need writers! • Need to pilot
  • 14. What about OpenID Connect federation draft? • Complimentary • OTTO would facilitate the creation of federations such as the kind imagined by the OIDC federation spec. • OIDC spec doesn’t say where|how the federation publishes its keys • It also doesn’t address issues beyond OpenID Connect • It has no automated discovery capabilities – for example how would the federation publish information about supported schema or trustmarks?
  • 15. Links • Join the WG: http://www.gluu.co/join-otto • Github Project: https://github.com/KantaraInitiative/wg-otto • Test code: https://github.com/GluuFederation/otto-node • Swagger UI for test code: http://otto-test.gluu.org/swagger/ • OTTO test data generator: http://otto-test.gluu.org:8080/