...
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
...
style | height: 60px |
---|
class | row |
---|
...
style | height: 60px; |
---|
class | row |
---|
...
Image Added
Macrosuite divider macro |
---|
dividerWidth | 80 |
---|
dividerType | text |
---|
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":"😄"} |
---|
isEditingIconOrEmoji | false |
---|
textColor | #000000 |
---|
dividerWeight | 3 |
---|
labelPosition | middle |
---|
textAlignment | center |
---|
iconColor | #3085c9ff |
---|
iconSize | 30 |
---|
fontSize | medium |
---|
text | Get Started |
---|
emojiEnabled | false |
---|
dividerIcon | font-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/ |
---|
|
...
...
...
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;
}
...
...
\" 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 |
|
...
Div |
---|
id | installationImage |
---|
class | index-image |
---|
|
Image Removed |
Div |
---|
|
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 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
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 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
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 |
|
...
Div |
---|
id | installationImage |
---|
class | index-image |
---|
|
Image Removed |
Div |
---|
|
Edit People Edit Person Attributes |
...
...
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 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
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 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
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 |
|
...
Div |
---|
|
Image Removed |
...
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- |
|
...
Div |
---|
|
Image Removed |
...
JSON Signing and Encryption Tutorial
...
4 \">Copyright © 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 |
---|
nopanel | true |
---|
|