Versions Compared

Key

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

...

OAuth 2.0 and OpenID Connect are industry standard protocols for authenticating users and authorizing third-party applications to access Web APIs on behalf of a resource owner approving that access or by allowing those third-party applications to access those APIs directly.

In OAuth 2.0, the entities involved in this exchange include the following:

  • Resource Owner – This is the user who owns the resource or data, such as their profile information, that is being requested by the application. 

  • Client Application – This is the application that is requesting the user's data. To call EmpowerID APIs, this application must be registered in EmpowerID.

  • Authorization Server – This is the identity store that knows about the resource owner and can verify their identity and issue tokens to authorize access to the requested resources.

  • Access Token – This is the key issued by the Authorization server to allow the client application to access requested resources from the resource server.

  • Resource Server – This is the API endpoint or server where the user's resources live.

A basic representation of these entities in an OAuth 2.0 flow is shown below:

...

Image Removed

...

styleheight: 60px
classrow
Div
idgettingStartedText

Getting Started

...

styleheight: 60px;
classrow

...

Image Added

Macrosuite divider macro
dividerWidth80
dividerTypetext
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
isEditingIconOrEmojifalse
textColor#000000
dividerWeight3
labelPositionmiddle
textAlignmentcenter
iconColor#3085c9ff
iconSize30
fontSizemedium
textGet Started
emojiEnabledfalse
dividerIconfont-awesome/FlagCheckered
dividerColor#DFE1E6
Easy html macro
theme{"label":"solarized_dark","value":"solarized_dark"}
contentByMode{"html":"<!doctype html>\r\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'self' blob:; style-src 'self'; frame-src 'self'\">\r\n<link href=\"https://cdn.jsdelivr.net/npm/

...

bootstrap@5.

...

0.

...

2/dist/css/bootstrap.min.css

...

.row{
    margin-left: 5rem !important;
    margin-right: 5rem !important;
    max-width: 175rem !important;
}

.topic-item  a {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    text-decoration: none !important;
    color: #fff !important;
    font-size: 0px;
}

#topics {
    width: 100%;
    padding: 40px;
}

.topic-item:hover {
    border: 1px solid #0d7ebf;    
}


.topic-item {
    background-color: #fff;
    width: 100%;
    min-height: 160px;
    padding: 30px;
    margin-bottom: 10px;
    border: 1px solid #e1e1e1;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

.topic-item div {
    font-size: 13px;
    text-align: center;
}

.topic-item h6 {
    font-weight: bold;
}
.index-image {
    max-width: 60px;
    margin-bottom: 60px;
    margin-top: 5px;
    margin-left: auto !important;
    margin-right: auto !important;
    max-height: 48px !important;
    display: block;
    box-shadow: none !important;
}

.index-image > p > .confluence-embedded-file-wrapper > .confluence-embedded-image{
    max-width: 60px;
    margin-bottom: 60px;
    margin-top: 5px;
    margin-left: auto !important;
    margin-right: auto !important;
    max-height: 48px !important;
    display: block;
    box-shadow: none !important;
}

.text-center {
  margin-top: -55px;
}

.text-center h6 {
  font-weight: bold !important;
  color: #7d7d7d !important;
  font-size: 1.75rem !important;
  line-height: 1.4 !important;
  margin-top: 0 !important;
  padding-bottom: 1rem !important;  
}

.text-center h6 a{
     color: #7d7d7d !important;
     text-decoration:none;
}

.text-center p{  
  font-weight: 600;
  /* padding-bottom: 10px; */
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 15px !important;
  overflow: hidden !important;
}

...

classrow

...

\" rel=\"stylesheet\" integrity=\"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC\" crossorigin=\"anonymous\">\r\n<link href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<script src=\"https://kit.fontawesome.com/59759af5bf.js\" crossorigin=\"anonymous\"></script>\r\n<link href=\"https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic\" rel=\"stylesheet\" type=\"text/css\" />\r\n<link href=\"https://docs.empowerid.com/new_docs.css\" rel=\"stylesheet\">\r\n<link href=\"https://docs.empowerid.com/assets/css/aguidehp22.css\" rel=\"stylesheet\">\r\n\r\n<meta charset=\"utf-8\" />\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no, overflow-y=scroll\" />\r\n<style>\r\nbody{\r\n overflow-y: hidden;\r\n}\r\n a{color: #212529;\r\n text-decoration:none;\r\n }\r\n a:hover{\r\n color: #212529;\r\n }\r\n header.masthead{\r\n margin-top:20px;\r\n }\r\n \r\n #mainNav{\r\n margin-top: 20px;\r\n }\r\n .card {\r\n border-left: 4px solid #3085c9;\r\n height: 120%;\r\n }\r\n .card:hover{\r\n border-left: 4px solid #00b2ca;\r\n box-shadow: 0 0 10px 0 rgba(100, 100, 100, 0.26);\r\n }\r\n .card-title{\r\n padding-top: 20px;\r\n }\r\n .row-gap{\r\n padding: 1rem;\r\n }\r\n .first-row{\r\n padding-top: 1rem;\r\n }\r\n }\r\n</style>\r\n<body id=\"page-top\">\r\n<div class=\"container-fluid\">\r\n <!-- Row 1 -->\r\n <div class=\"row d-flex align-items-stretch first-row\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/VWsRYrNg\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OpenID Connect</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/SpSm8EDx\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Authorization Code Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/SYD0hsZb\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Resource Owner Password Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/eiK6AAuP\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 JWT (JSON Web Token) Bearer Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!--Row 2 -->\r\n <div class=\"row d-flex align-items-stretch\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
idinstallationImage
classindex-image

Image Removed

Div
classtext-center

Register an OAuth Application

Register an OAuth Application

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/fjm12f1Q\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Client Credential Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
classindex-image

Image Removed

Div
classtext-center

Get an Access Token

Get an Access Token

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/dq0Q6412\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Client Certificate Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
classindex-image

Image Removed

Div
classtext-center

Create a Person Object

Create Person Objects

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/UtkmNczk\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Refresh Token Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
idinstallationImage
classindex-image

Image Removed

Div
classtext-center

Edit People

Edit Person Attributes

...

classrow

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/a5AEhLLf\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 Implicit Grant</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!--Row 3 -->\r\n <div class=\"row d-flex align-items-stretch\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
classindex-image

Image Removed

Div
classtext-center

OAuth 2.0 Flows

OAuth 2.0 Flows

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/WfzpYmqu\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">OAuth 2.0 RP-Initiated Logout</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/HhcEuscy\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">UserInfo Endpoint</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
classindex-image

Image Removed

Div
classtext-center

Check User Access

Authorization API

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/mFfKMHGn\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Token Introspection Endpoint</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3

...

classtopic-item
Div
classindex-image

Image Removed

Div
classtext-center

Overview of JSON Signing and Encryption

JSON Signing and Encryption

...

row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/G9mhEN9D\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Token Revoke Endpoint</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!--Row 4 -->\r\n <div class=\"row d-flex align-items-stretch\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/l/cp/QYeEiDPX\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Token Exchange Endpoint</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n \r\n \r\n </div>\r\n \r\n \r\n</div>\r\n\r\n\r\n </section>\r\n \r\n \r\n <!-- Footer-->\r\n <footer class=\"footer py-4\">\r\n <div class=\"container\">\r\n <!--<div class=\"row align-items-center\">\r\n <div class=\"col-lg-

...

classtopic-item
Div
classindex-image

Image Removed

...

classtext-center

JSON Signing and Encryption Tutorial

...

4 \">Copyright &copy; EmpowerID 2023</div>\r\n <div class=\"col-lg-4 my-3 my-lg-0\">\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.twitter.com/empowerid\" target=\"_self\" rel=\"noopener noreferrer\"><i class=\"fab fa-twitter\"></i></a>\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.facebook.com/EmpowerID/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"><i class=\"fab fa-facebook-f\"></i></a>\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.linkedin.com/company/empowerid?trk=public_profile_topcard-current-company\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"><i class=\"fab fa-linkedin-in\"></i></a>\r\n </div>\r\n </div>-->\r\n </div>\r\n </footer>\r\n \r\n <!-- Bootstrap core JS-->\r\n <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js\"></script>\r\n \r\n </body>","javascript":"window.addEventListener('DOMContentLoaded', event => {\r\n\r\n // Navbar shrink function\r\n var navbarShrink = function () {\r\n const navbarCollapsible = document.body.querySelector('#mainNav');\r\n if (!navbarCollapsible) {\r\n return;\r\n }\r\n if (window.scrollY === 0) {\r\n navbarCollapsible.classList.remove('navbar-shrink')\r\n } else {\r\n navbarCollapsible.classList.add('navbar-shrink')\r\n }\r\n\r\n };\r\n\r\n // Shrink the navbar \r\n navbarShrink();\r\n\r\n // Shrink the navbar when page is scrolled\r\n document.addEventListener('scroll', navbarShrink);\r\n\r\n // Activate Bootstrap scrollspy on the main nav element\r\n const mainNav = document.body.querySelector('#mainNav');\r\n if (mainNav) {\r\n new bootstrap.ScrollSpy(document.body, {\r\n target: '#mainNav',\r\n offset: 74,\r\n });\r\n };\r\n\r\n // Collapse responsive navbar when toggler is visible\r\n const navbarToggler = document.body.querySelector('.navbar-toggler');\r\n const responsiveNavItems = [].slice.call(\r\n document.querySelectorAll('#navbarResponsive .nav-link')\r\n );\r\n responsiveNavItems.map(function (responsiveNavItem) {\r\n responsiveNavItem.addEventListener('click', () => {\r\n if (window.getComputedStyle(navbarToggler).display !== 'none') {\r\n navbarToggler.click();\r\n }\r\n });\r\n });\r\n\r\n});\r\n","css":""}


Insert excerpt
IL:External Stylesheet
IL:External Stylesheet
nopaneltrue