{"action":"created","comment":{"url":"https://api.github.com/repos/okta/okta.github.io/pulls/comments/183918171","pull_request_review_id":115002003,"id":183918171,"diff_hunk":"@@ -0,0 +1,440 @@\n+---\n+layout: docs_page\n+title: Okta Sign-In Widget Guide\n+language: JavaScript\n+excerpt: A drop-in widget with custom UI capabilities to power sign-in with Okta.\n+weight: 1\n+redirect_from:\n+    - \"/docs/guides/okta_sign-in_widget.html\"\n+---\n+\n+# Okta Sign-In Widget Guide\n+\n+The Okta Sign-In Widget is a JavaScript library that gives you a fully-featured and customizable login experience which can be used to authenticate users on any website.\n+\n+Okta uses the Widget as part of its normal sign-in page. If you would like to customize the widget, then you will need to host it yourself. This guide will walk you through the [installation process](#installation) for the widget, as well as [a few common use cases](#use-cases) for the Widget and how to implement them. The full Widget reference can be found [on GitHub](https://github.com/okta/okta-signin-widget#okta-sign-in-widget).\n+\n+{% img okta-signin.png alt:\"Screenshot of basic Okta Sign-In Widget\" %}{: .center-image }\n+\n+\n+## Installation\n+\n+The first step is to install the Widget. For this, you have two options: linking out to the Okta CDN, or local installation via npm instead.\n+\n+### CDN\n+\n+To use the CDN, include this in your HTML:\n+\n+~~~html\n+<!-- Latest CDN production Javascript and CSS: {{ site.versions.okta_signin_widget }} -->\n+<script\n+  src=\"https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{ site.versions.okta_signin_widget }}/js/okta-sign-in.min.js\"\n+  type=\"text/javascript\"></script>\n+<link\n+  href=\"https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{ site.versions.okta_signin_widget }}/css/okta-sign-in.min.css\"\n+  type=\"text/css\"\n+  rel=\"stylesheet\"/>\n+\n+<!-- Theme file: Customize or replace this file if you want to override our default styles -->\n+<link\n+  href=\"https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{ site.versions.okta_signin_widget }}/css/okta-theme.css\"\n+  type=\"text/css\"\n+  rel=\"stylesheet\"/>\n+~~~\n+\n+More info, including the latest published version, can be found in the [Widget Documentation](https://github.com/okta/okta-signin-widget#using-the-okta-cdn).\n+\n+### npm\n+\n+```\n+# Run this command in your project root folder.\n+npm install @okta/okta-signin-widget --save\n+```\n+\n+More info, including the latest published version, can be found in the [Widget Documentation](https://github.com/okta/okta-signin-widget#using-the-npm-module).\n+\n+#### Bundling the Widget\n+\n+If you are bundling your assets, import them from `@okta/okta-signin-widget`. For example, using [webpack](https://webpack.js.org/):\n+\n+~~~javascript\n+import OktaSignIn from '@okta/okta-signin-widget';\n+import '@okta/okta-signin-widget/dist/css/okta-sign-in.min.css';\n+import '@okta/okta-signin-widget/dist/css/okta-theme.css';\n+~~~\n+\n+> Loading CSS requires the css-loader plugin. You can find more information about it [here](https://github.com/webpack-contrib/css-loader#usage).\n+\n+### Enabling Cross-Origin Access\n+\n+Because the Widget will be making cross-origin requests, you need to enable Cross Origin Access (CORS) by adding your application's URL to your Okta org's Trusted Origins. More information about this can be found on the [Enabling CORS](/docs/api/getting_started/enabling_cors#granting-cross-origin-access-to-websites) page.\n+\n+> If you are using the Widget to sign users in to your own application, then you can skip this step. When you create an Application in Okta, you will need to specify a `redirectURI`, and the Okta Developer Console will automatically add it as a CORS URL.\n+\n+## Usage\n+\n+Once you have installed the widget and enabled CORS, you can start using the Widget.\n+\n+### Initializing the Widget\n+\n+The code that initializes the Widget looks like this:\n+\n+~~~javascript\n+var signIn = new OktaSignIn({baseUrl: 'https://{yourOktaDomain}.com'});\n+signIn.renderEl({\n+  el: '#element'\n+}, function success(res) {\n+  if (res.status === 'SUCCESS') {\n+    console.log('Do something with this sessionToken', res.session.token);\n+  }\n+}, function error(err) {\n+  console.log('Handle error:', err);\n+})\n+~~~\n+\n+#### Mobile Consideration\n+\n+To ensure that the Widget renders properly on mobile, include the `viewport` metatag in your `head`:\n+\n+~~~html\n+<head>\n+  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n+</head>\n+~~~\n+\n+### Use Cases\n+\n+The Widget can handle a number of different authentication scenarios. Here are a few common ones:\n+\n+#### Sign In to Okta with the Default Dashboard\n+\n+In this case, you would like to use the Widget to sign in to the default Okta dashboard. This requires taking the Widget initialization code, and modifying the success behavior so that it redirects to your org's dashboard.\n+\n+~~~javascript\n+function success(res) {\n+  if (res.status === 'SUCCESS') {\n+    res.session.setCookieAndRedirect('https://{yourOktaDomain}.com/app/UserHome');\n+  }\n+}\n+~~~\n+\n+##### Sign In to Okta and SSO Directly to an App\n+\n+If you'd like to sign the user directly in to an application within Okta, you just redirect to the specific URL for that application. To find that URL, go to that application's page in your Okta org and find [the embed link](https://support.okta.com/help/Documentation/Knowledge_Article/The-Applications-Page-1093995619#Show).\n+\n+#### Sign In to Okta with a Custom Dashboard\n+\n+If you are still signing your users in to Okta, but you don't want to use the Okta dashboard, then you can change the redirect URL to point to your custom portal instead.\n+\n+~~~javascript\n+function success(res) {\n+  if (res.status === 'SUCCESS') {\n+    res.session.setCookieAndRedirect('https://example.com/dashboard');\n+  }\n+}\n+~~~\n+\n+#### Sign In to Your Application\n+\n+If you'd like to use the Widget to sign in to your own application instead of Okta, you will have to [set-up a custom Authorization Server](/authentication-guide/implementing-authentication/set-up-authz-server) in Okta. The Widget also needs to be configured to prompt the user to sign in, and then extract an ID token after a successful redirect:\n+\n+~~~javascript\n+var signIn = new OktaSignIn({\n+  baseUrl: 'https://{yourOktaDomain}.com/oauth/default/v1',\n+  clientId: '${ClientId}',\n+  redirectUri: '${redirectUri configured in OIDC app}',\n+  authParams: {\n+    responseType: ['id_token','token']\n+    display: 'page'\n+  }\n+});\n+\n+if (!signIn.token.hasTokensInUrl()) {\n+  signIn.renderEl({el: '#osw-container'});\n+}\n+\n+else {\n+  signIn.token.parseTokensFromUrl(\n+    function success(res) {\n+      // Add the token to tokenManager to automatically renew the token when needed\n+      signIn.tokenManager.add('id_token', res[0]);\n+      signIn.tokenManager.add('access_token', res[1]);\n+    },\n+    function error(err) {\n+      console.log('handle error', err);\n+    }\n+  );\n+}\n+~~~\n+\n+Here is an example of some front-end code that could use this token:\n+\n+~~~javascript\n+function callMessagesApi() {\n+  var accessToken = oktaSignIn.tokenManager.get('accessToken');\n+\n+  if (!accessToken) {\n+    // This means that the user is not logged in\n+    return;\n+  }\n+\n+  // Make a request using jQuery\n+  $.ajax({\n+    url: 'http://localhost:8080/api/messages',\n+    headers: {\n+      Authorization: 'Bearer ' + accessToken.accessToken\n+    },\n+    success: function(response) {\n+      // Received messages!\n+      console.log('Messages', response);\n+    },\n+    error: function(response) {\n+      console.error(response);\n+    }\n+  });\n+}\n+~~~\n+\n+### Handling Errors\n+\n+The Widget render function either results in a success or error. The error function is called when the widget has been initialized with invalid config options, or has entered a state it cannot recover from.\n+\n+The Widget is designed to internally handle any user and API errors. This means that the custom error handler should primarily be used for debugging any configuration errors.\n+\n+There are three kinds of errors that aren't handled by the Widget, and so can be handled by custom code:\n+\n+- ConfigError\n+- UnsupportedBrowserError\n+- OAuthError\n+\n+Here is an example of an error handler that adds an error message to the top of the page:\n+\n+~~~javascript\n+function error(err) {\n+  var errorEl = document.createElement('div');\n+  errorEl.innerHTML = 'Error! ' + err.message;\n+  document.body.insertBefore(\n+    errorEl,\n+    document.body.firstChild\n+  );\n+}\n+~~~\n+\n+## Customization\n+\n+The Okta Sign-In Widget is fully customizable via CSS and JavaScript.\n+\n+### Initial Login Screen\n+\n+You can modify the look of the initial login screen using parameters in the `config` section of the main Widget initialization block.\n+\n+{% img widget_theming.png alt:\"Screenshot of basic Okta Sign-In Widget\" %}{: .center-image }\n+\n+**Logo**\n+\n+~~~javascript\n+var config = {\n+  ...\n+  logo: '/path/to/logo.png',\n+...\n+};\n+\n+var signIn = new OktaSignIn(config);\n+~~~\n+\n+**Custom Buttons**\n+\n+You can add buttons below the \"Sign In\" button.\n+\n+~~~javascript\n+var config = {\n+  ...\n+  customButtons: [\n+    {\n+      title: 'Click Me 1',\n+      className: 'btn-customAuth',\n+      click: function() {\n+          // clicking on the button navigates to another page\n+          window.location.href = 'http://www.example1.com';\n+        }\n+    },\n+    {\n+      title: 'Click Me 2',\n+      className: 'btn-customAuth',\n+      click: function() {\n+          // clicking on the button navigates to another page\n+          window.location.href = 'http://www.example2.com';\n+      }\n+    }\n+  ];\n+};\n+~~~\n+\n+**Links**\n+\n+You can also change the \"Help\", \"Forgot Password\", and \"Unlock\" links, including both their text and URLs.\n+\n+~~~javascript\n+var config = {\n+    ...\n+  helpLinks: {\n+    help: 'https://example.com/help',\n+    forgotPassword: 'https://example.com/forgot-password',\n+    unlock: 'https://example.com/unlock-account',\n+    custom: [\n+      {\n+        text: 'What is Okta?',\n+        href: 'https://example.com/what-is-okta'\n+      },\n+      {\n+        text: 'Example Portal',\n+        href: 'https://example.com'\n+      }\n+    ]\n+  }\n+};\n+~~~\n+\n+#### Modifying CSS\n+\n+In addition to the parameters in the Widget's `config`, you can also modify the CSS.\n+\n+**Modify the existing theme**\n+\n+If you want to add on top of the Okta theme, just edit [okta-theme.scss](https://github.com/okta/okta-signin-widget/blob/master/assets/sass/okta-theme.scss) and add any CSS to the bottom of the file.\n+\n+##### CSS customization examples\n+\n+**Background**\n+\n+~~~css\n+#okta-sign-in.auth-container.main-container {\n+   background-color: red;\n+}\n+\n+#okta-sign-in .beacon-blank {\n+   background-color: red;\n+}\n+~~~\n+\n+**Border color**\n+\n+~~~css\n+#okta-sign-in.auth-container.main-container {\n+ \tborder-color: red;\n+}\n+\n+#okta-sign-in.auth-container .okta-sign-in-header {\n+border-bottom-color: red;\n+}\n+~~~\n+\n+**Text color**\n+\n+All text:\n+\n+~~~css\n+#okta-sign-in {\n+\tcolor: red;\n+}","path":"_source/_code/javascript/okta_sign-in_widget2.md","position":339,"original_position":339,"commit_id":"d92b48820d457f006c31f06f47d946ba793a8a5c","original_commit_id":"d92b48820d457f006c31f06f47d946ba793a8a5c","user":{"login":"nbarbettini","id":7525482,"avatar_url":"https://avatars0.githubusercontent.com/u/7525482?v=4","gravatar_id":"","url":"https://api.github.com/users/nbarbettini","html_url":"https://github.com/nbarbettini","followers_url":"https://api.github.com/users/nbarbettini/followers","following_url":"https://api.github.com/users/nbarbettini/following{/other_user}","gists_url":"https://api.github.com/users/nbarbettini/gists{/gist_id}","starred_url":"https://api.github.com/users/nbarbettini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nbarbettini/subscriptions","organizations_url":"https://api.github.com/users/nbarbettini/orgs","repos_url":"https://api.github.com/users/nbarbettini/repos","events_url":"https://api.github.com/users/nbarbettini/events{/privacy}","received_events_url":"https://api.github.com/users/nbarbettini/received_events","type":"User","site_admin":false},"body":"This doesn't work unless you do\r\n\r\n```\r\n#okta-sign-in.auth-container {\r\n    color: red !important;\r\n}\r\n```\r\n\r\n@hor-kanchan-okta Is there some way to do it that doesn't require `!important`? (in the context of overriding the widget's CSS styles)","created_at":"2018-04-25T00:37:58Z","updated_at":"2018-04-25T00:50:25Z","html_url":"https://github.com/okta/okta.github.io/pull/1950#discussion_r183918171","pull_request_url":"https://api.github.com/repos/okta/okta.github.io/pulls/1950","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/comments/183918171"},"html":{"href":"https://github.com/okta/okta.github.io/pull/1950#discussion_r183918171"},"pull_request":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/1950"}}},"pull_request":{"url":"https://api.github.com/repos/okta/okta.github.io/pulls/1950","id":181006515,"html_url":"https://github.com/okta/okta.github.io/pull/1950","diff_url":"https://github.com/okta/okta.github.io/pull/1950.diff","patch_url":"https://github.com/okta/okta.github.io/pull/1950.patch","issue_url":"https://api.github.com/repos/okta/okta.github.io/issues/1950","number":1950,"state":"open","locked":false,"title":"Widget Guide Draft 2","user":{"login":"jakubvul","id":4551905,"avatar_url":"https://avatars3.githubusercontent.com/u/4551905?v=4","gravatar_id":"","url":"https://api.github.com/users/jakubvul","html_url":"https://github.com/jakubvul","followers_url":"https://api.github.com/users/jakubvul/followers","following_url":"https://api.github.com/users/jakubvul/following{/other_user}","gists_url":"https://api.github.com/users/jakubvul/gists{/gist_id}","starred_url":"https://api.github.com/users/jakubvul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakubvul/subscriptions","organizations_url":"https://api.github.com/users/jakubvul/orgs","repos_url":"https://api.github.com/users/jakubvul/repos","events_url":"https://api.github.com/users/jakubvul/events{/privacy}","received_events_url":"https://api.github.com/users/jakubvul/received_events","type":"User","site_admin":false},"body":"## Description\r\n\r\nNew Widget Guide. Less verbose, more useful, hopefully.\r\n\r\nPlease ensure that all of the code is accurate!\r\n\r\n### Resolves\r\n\r\n* [OKTA-161234](https://oktainc.atlassian.net/browse/OKTA-161234)\r\n\r\n**Note:** This is not the actual PR that I will merge, as I had to rename the file (to `okta_sign-in_widget2.md`) in order for GitHub to recognize it as a whole new file. The diff view that GH came up with was very counterproductive. \r\n\r\n","created_at":"2018-04-11T19:37:36Z","updated_at":"2018-04-25T00:50:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f4a8a89c031da8724d98da7d49bf5e13804d5c60","assignee":{"login":"jakubvul","id":4551905,"avatar_url":"https://avatars3.githubusercontent.com/u/4551905?v=4","gravatar_id":"","url":"https://api.github.com/users/jakubvul","html_url":"https://github.com/jakubvul","followers_url":"https://api.github.com/users/jakubvul/followers","following_url":"https://api.github.com/users/jakubvul/following{/other_user}","gists_url":"https://api.github.com/users/jakubvul/gists{/gist_id}","starred_url":"https://api.github.com/users/jakubvul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakubvul/subscriptions","organizations_url":"https://api.github.com/users/jakubvul/orgs","repos_url":"https://api.github.com/users/jakubvul/repos","events_url":"https://api.github.com/users/jakubvul/events{/privacy}","received_events_url":"https://api.github.com/users/jakubvul/received_events","type":"User","site_admin":false},"assignees":[{"login":"jakubvul","id":4551905,"avatar_url":"https://avatars3.githubusercontent.com/u/4551905?v=4","gravatar_id":"","url":"https://api.github.com/users/jakubvul","html_url":"https://github.com/jakubvul","followers_url":"https://api.github.com/users/jakubvul/followers","following_url":"https://api.github.com/users/jakubvul/following{/other_user}","gists_url":"https://api.github.com/users/jakubvul/gists{/gist_id}","starred_url":"https://api.github.com/users/jakubvul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakubvul/subscriptions","organizations_url":"https://api.github.com/users/jakubvul/orgs","repos_url":"https://api.github.com/users/jakubvul/repos","events_url":"https://api.github.com/users/jakubvul/events{/privacy}","received_events_url":"https://api.github.com/users/jakubvul/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/okta/okta.github.io/pulls/1950/commits","review_comments_url":"https://api.github.com/repos/okta/okta.github.io/pulls/1950/comments","review_comment_url":"https://api.github.com/repos/okta/okta.github.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/okta/okta.github.io/issues/1950/comments","statuses_url":"https://api.github.com/repos/okta/okta.github.io/statuses/d92b48820d457f006c31f06f47d946ba793a8a5c","head":{"label":"okta:jv-okta-156253-siw-guide","ref":"jv-okta-156253-siw-guide","sha":"d92b48820d457f006c31f06f47d946ba793a8a5c","user":{"login":"okta","id":362460,"avatar_url":"https://avatars1.githubusercontent.com/u/362460?v=4","gravatar_id":"","url":"https://api.github.com/users/okta","html_url":"https://github.com/okta","followers_url":"https://api.github.com/users/okta/followers","following_url":"https://api.github.com/users/okta/following{/other_user}","gists_url":"https://api.github.com/users/okta/gists{/gist_id}","starred_url":"https://api.github.com/users/okta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okta/subscriptions","organizations_url":"https://api.github.com/users/okta/orgs","repos_url":"https://api.github.com/users/okta/repos","events_url":"https://api.github.com/users/okta/events{/privacy}","received_events_url":"https://api.github.com/users/okta/received_events","type":"Organization","site_admin":false},"repo":{"id":10953058,"name":"okta.github.io","full_name":"okta/okta.github.io","owner":{"login":"okta","id":362460,"avatar_url":"https://avatars1.githubusercontent.com/u/362460?v=4","gravatar_id":"","url":"https://api.github.com/users/okta","html_url":"https://github.com/okta","followers_url":"https://api.github.com/users/okta/followers","following_url":"https://api.github.com/users/okta/following{/other_user}","gists_url":"https://api.github.com/users/okta/gists{/gist_id}","starred_url":"https://api.github.com/users/okta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okta/subscriptions","organizations_url":"https://api.github.com/users/okta/orgs","repos_url":"https://api.github.com/users/okta/repos","events_url":"https://api.github.com/users/okta/events{/privacy}","received_events_url":"https://api.github.com/users/okta/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/okta/okta.github.io","description":"Okta Identity Platform API Docs and Developer Home","fork":false,"url":"https://api.github.com/repos/okta/okta.github.io","forks_url":"https://api.github.com/repos/okta/okta.github.io/forks","keys_url":"https://api.github.com/repos/okta/okta.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/okta/okta.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/okta/okta.github.io/teams","hooks_url":"https://api.github.com/repos/okta/okta.github.io/hooks","issue_events_url":"https://api.github.com/repos/okta/okta.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/okta/okta.github.io/events","assignees_url":"https://api.github.com/repos/okta/okta.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/okta/okta.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/okta/okta.github.io/tags","blobs_url":"https://api.github.com/repos/okta/okta.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/okta/okta.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/okta/okta.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/okta/okta.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/okta/okta.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/okta/okta.github.io/languages","stargazers_url":"https://api.github.com/repos/okta/okta.github.io/stargazers","contributors_url":"https://api.github.com/repos/okta/okta.github.io/contributors","subscribers_url":"https://api.github.com/repos/okta/okta.github.io/subscribers","subscription_url":"https://api.github.com/repos/okta/okta.github.io/subscription","commits_url":"https://api.github.com/repos/okta/okta.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/okta/okta.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/okta/okta.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/okta/okta.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/okta/okta.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/okta/okta.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/okta/okta.github.io/merges","archive_url":"https://api.github.com/repos/okta/okta.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/okta/okta.github.io/downloads","issues_url":"https://api.github.com/repos/okta/okta.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/okta/okta.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/okta/okta.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/okta/okta.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/okta/okta.github.io/labels{/name}","releases_url":"https://api.github.com/repos/okta/okta.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/okta/okta.github.io/deployments","created_at":"2013-06-25T23:22:38Z","updated_at":"2018-04-24T22:45:16Z","pushed_at":"2018-04-24T23:00:24Z","git_url":"git://github.com/okta/okta.github.io.git","ssh_url":"git@github.com:okta/okta.github.io.git","clone_url":"https://github.com/okta/okta.github.io.git","svn_url":"https://github.com/okta/okta.github.io","homepage":"http://developer.okta.com/","size":277262,"stargazers_count":40,"watchers_count":40,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":116,"mirror_url":null,"archived":false,"open_issues_count":30,"license":null,"forks":116,"open_issues":30,"watchers":40,"default_branch":"source"}},"base":{"label":"okta:source","ref":"source","sha":"99b6e106d7da77196efd4687cd0fd2ff9be16e33","user":{"login":"okta","id":362460,"avatar_url":"https://avatars1.githubusercontent.com/u/362460?v=4","gravatar_id":"","url":"https://api.github.com/users/okta","html_url":"https://github.com/okta","followers_url":"https://api.github.com/users/okta/followers","following_url":"https://api.github.com/users/okta/following{/other_user}","gists_url":"https://api.github.com/users/okta/gists{/gist_id}","starred_url":"https://api.github.com/users/okta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okta/subscriptions","organizations_url":"https://api.github.com/users/okta/orgs","repos_url":"https://api.github.com/users/okta/repos","events_url":"https://api.github.com/users/okta/events{/privacy}","received_events_url":"https://api.github.com/users/okta/received_events","type":"Organization","site_admin":false},"repo":{"id":10953058,"name":"okta.github.io","full_name":"okta/okta.github.io","owner":{"login":"okta","id":362460,"avatar_url":"https://avatars1.githubusercontent.com/u/362460?v=4","gravatar_id":"","url":"https://api.github.com/users/okta","html_url":"https://github.com/okta","followers_url":"https://api.github.com/users/okta/followers","following_url":"https://api.github.com/users/okta/following{/other_user}","gists_url":"https://api.github.com/users/okta/gists{/gist_id}","starred_url":"https://api.github.com/users/okta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okta/subscriptions","organizations_url":"https://api.github.com/users/okta/orgs","repos_url":"https://api.github.com/users/okta/repos","events_url":"https://api.github.com/users/okta/events{/privacy}","received_events_url":"https://api.github.com/users/okta/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/okta/okta.github.io","description":"Okta Identity Platform API Docs and Developer Home","fork":false,"url":"https://api.github.com/repos/okta/okta.github.io","forks_url":"https://api.github.com/repos/okta/okta.github.io/forks","keys_url":"https://api.github.com/repos/okta/okta.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/okta/okta.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/okta/okta.github.io/teams","hooks_url":"https://api.github.com/repos/okta/okta.github.io/hooks","issue_events_url":"https://api.github.com/repos/okta/okta.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/okta/okta.github.io/events","assignees_url":"https://api.github.com/repos/okta/okta.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/okta/okta.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/okta/okta.github.io/tags","blobs_url":"https://api.github.com/repos/okta/okta.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/okta/okta.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/okta/okta.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/okta/okta.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/okta/okta.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/okta/okta.github.io/languages","stargazers_url":"https://api.github.com/repos/okta/okta.github.io/stargazers","contributors_url":"https://api.github.com/repos/okta/okta.github.io/contributors","subscribers_url":"https://api.github.com/repos/okta/okta.github.io/subscribers","subscription_url":"https://api.github.com/repos/okta/okta.github.io/subscription","commits_url":"https://api.github.com/repos/okta/okta.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/okta/okta.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/okta/okta.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/okta/okta.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/okta/okta.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/okta/okta.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/okta/okta.github.io/merges","archive_url":"https://api.github.com/repos/okta/okta.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/okta/okta.github.io/downloads","issues_url":"https://api.github.com/repos/okta/okta.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/okta/okta.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/okta/okta.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/okta/okta.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/okta/okta.github.io/labels{/name}","releases_url":"https://api.github.com/repos/okta/okta.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/okta/okta.github.io/deployments","created_at":"2013-06-25T23:22:38Z","updated_at":"2018-04-24T22:45:16Z","pushed_at":"2018-04-24T23:00:24Z","git_url":"git://github.com/okta/okta.github.io.git","ssh_url":"git@github.com:okta/okta.github.io.git","clone_url":"https://github.com/okta/okta.github.io.git","svn_url":"https://github.com/okta/okta.github.io","homepage":"http://developer.okta.com/","size":277262,"stargazers_count":40,"watchers_count":40,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":116,"mirror_url":null,"archived":false,"open_issues_count":30,"license":null,"forks":116,"open_issues":30,"watchers":40,"default_branch":"source"}},"_links":{"self":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/1950"},"html":{"href":"https://github.com/okta/okta.github.io/pull/1950"},"issue":{"href":"https://api.github.com/repos/okta/okta.github.io/issues/1950"},"comments":{"href":"https://api.github.com/repos/okta/okta.github.io/issues/1950/comments"},"review_comments":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/1950/comments"},"review_comment":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/okta/okta.github.io/pulls/1950/commits"},"statuses":{"href":"https://api.github.com/repos/okta/okta.github.io/statuses/d92b48820d457f006c31f06f47d946ba793a8a5c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"nbarbettini"}}