PageSourceSearch

https://eideasy-docs.netlify.app/assets/turnkey-solution.html-1fc1ab0f.js

js eideasy-docs.netlify.app collected 2026-10-03 10:42:58 UTC 13,093 bytes, 50 lines download raw bytes

1import{_ as o,r as p,o as i,c as l,b as s,d as a,a as e,e as r}from"./app-4488e322.js";const c={},u={href:"https://wordpress.org/plugins/smart-id/",target:"_blank",rel:"noopener noreferrer"},d={href:"https://id.eideasy.com/admin/clientlist",target:"_blank",rel:"noopener noreferrer"},k={href:"https://id.eideasy.com/admin/clientlist",target:"_blank",rel:"noopener noreferrer"},v={href:"https://github.com/thephpleague/oauth2-client",target:"_blank",rel:"noopener noreferrer"};function g(m,n){const t=p("ExternalLinkIcon");return i(),l("div",null,[n[10]||(n[10]=s("h1",{id:"turnkey-solution",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#turnkey-solution","aria-hidden":"true"},"#"),a(" Turnkey Solution")],-1)),s("p",null,[n[1]||(n[1]=a("Using WordPress? Our ",-1)),s("a",u,[n[0]||(n[0]=a("WordPress plugin",-1)),e(t)]),n[2]||(n[2]=a(" is all you need.",-1))]),n[11]||(n[11]=s("p",null,"Using anything else? No problem. Since our authentication is OAuth 2.0 based, there are ready-made libraries available for all major server-side languages and frameworks. All you need to know are the following parameters:",-1)),s("p",null,[n[4]||(n[4]=a("Client ID: copy this from ",-1)),s("a",d,[n[3]||(n[3]=a("My Webpages",-1)),e(t)])]),s("p",null,[n[6]||(n[6]=a("Client secret: copy this from ",-1)),s("a",k,[n[5]||(n[5]=a("My Webpages",-1)),e(t)])]),n[12]||(n[12]=s("p",null,[a("Authorize URL: "),s("code",null,"https://id.eideasy.com/oauth/authorize")],-1)),n[13]||(n[13]=s("p",null,[a("Access token URL: "),s("code",null,"https://id.eideasy.com/oauth/access_token")],-1)),n[14]||(n[14]=s("p",null,[a("User data URL: "),s("code",null,"https://id.eideasy.com/api/v2/user_data")],-1)),s("p",null,[n[8]||(n[8]=a("For example, in PHP you may wish to use ",-1)),s("a",v,[n[7]||(n[7]=a("thephpleague/oauth2-client",-1)),e(t)]),n[9]||(n[9]=a(":",-1))]),n[15]||(n[15]=r(`<div class="language-php line-numbers-mode" data-ext="php"><pre class="language-php"><code><span class="token variable">$provider</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name class-name-fully-qualified"><span class="token punctuation">\\</span>League<span class="token punctuation">\\</span>OAuth2<span class="token punctuation">\\</span>Client<span class="token punctuation">\\</span>Provider<span class="token punctuation">\\</span>GenericProvider</span><span class="token punctuation">(</span><span class="token punctuation">[</span>
2  <span class="token string single-quoted-string">&#39;clientId&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;your_oauth2_client_id&#39;</span><span class="token punctuation">,</span>
3  <span class="token string single-quoted-string">&#39;clientSecret&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;your_oauth2_client_secret&#39;</span><span class="token punctuation">,</span>
4  <span class="token string single-quoted-string">&#39;redirectUri&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;http://your-site.com/your-redirect-url/&#39;</span><span class="token punctuation">,</span> <span class="token comment">// The url that will run this code snippet</span>
5  <span class="token string single-quoted-string">&#39;urlAuthorize&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;https://id.eideasy.com/oauth/authorize&#39;</span><span class="token punctuation">,</span>
6  <span class="token string single-quoted-string">&#39;urlAccessToken&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;https://id.eideasy.com/oauth/access_token&#39;</span><span class="token punctuation">,</span>
7  <span class="token string single-quoted-string">&#39;urlResourceOwnerDetails&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;https://id.eideasy.com/api/v2/user_data&#39;</span>
8<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
9
10<span class="token comment">// If we don&#39;t have an authorization code then get one</span>
11<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;code&#39;</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
12
13  <span class="token comment">// Fetch the authorization URL from the provider; this returns the</span>
14  <span class="token comment">// urlAuthorize option and generates and applies any necessary parameters</span>
15  <span class="token comment">// (e.g. state).</span>
16  <span class="token variable">$authorizationUrl</span> <span class="token operator">=</span> <span class="token variable">$provider</span><span class="token operator">-&gt;</span><span class="token function">getAuthorizationUrl</span><span class="token punctuation">(</span><span class="token punctuation">[</span>
17      <span class="token comment">// Optional params</span>
18      <span class="token string single-quoted-string">&#39;lang&#39;</span> <span class="token operator">=&gt;</span> <span class="token string single-quoted-string">&#39;en&#39;</span><span class="token punctuation">,</span>
19      <span class="token comment">// ...</span>
20  <span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
21
22  <span class="token comment">// Get the state generated for you and store it to the session.</span>
23  <span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;oauth2state&#39;</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token variable">$provider</span><span class="token operator">-&gt;</span><span class="token function">getState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
24
25  <span class="token comment">// Redirect the user to the authorization URL.</span>
26  <span class="token function">header</span><span class="token punctuation">(</span><span class="token string single-quoted-string">&#39;Location: &#39;</span> <span class="token operator">.</span> <span class="token variable">$authorizationUrl</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
27  <span class="token keyword">exit</span><span class="token punctuation">;</span>
28
29<span class="token comment">// Check given state against previously stored one to mitigate CSRF attack</span>
30<span class="token punctuation">}</span> <span class="token keyword">elseif</span> <span class="token punctuation">(</span><span class="token keyword">empty</span><span class="token punctuation">(</span><span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;state&#39;</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;oauth2state&#39;</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">&amp;&amp;</span> <span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;state&#39;</span><span class="token punctuation">]</span> <span class="token operator">!==</span> <span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;oauth2state&#39;</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
31
32  <span class="token keyword">exit</span><span class="token punctuation">(</span><span class="token string single-quoted-string">&#39;Invalid state&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
33
34<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
35
36  <span class="token comment">// Try to get an access token using the authorization code grant.</span>
37  <span class="token variable">$accessToken</span> <span class="token operator">=</span> <span class="token variable">$provider</span><span class="token operator">-&gt;</span><span class="token function">getAccessToken</span><span class="token punctuation">(</span><span class="token string single-quoted-string">&#39;authorization_code&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">[</span>
38      <span class="token string single-quoted-string">&#39;code&#39;</span> <span class="token operator">=&gt;</span> <span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;code&#39;</span><span class="token punctuation">]</span>
39  <span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
40
41  <span class="token comment">// Using the access token, we may look up details about the</span>
42  <span class="token comment">
42// resource owner.</span>
43  <span class="token variable">$resourceOwner</span> <span class="token operator">=</span> <span class="token variable">$provider</span><span class="token operator">-&gt;</span><span class="token function">getResourceOwner</span><span class="token punctuation">(</span><span class="token variable">$accessToken</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
44
45  <span class="token variable">$ownerData</span> <span class="token operator">=</span> <span class="token variable">$resourceOwner</span><span class="token operator">-&gt;</span><span class="token function">toArray</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
46
47  <span class="token comment">// Bam! You can now access the user&#39;s identity in $ownerData.</span>
48  <span class="token keyword">echo</span> <span class="token string double-quoted-string">&quot;Authenticated user&#39;s ID code: &quot;</span> <span class="token operator">.</span> <span class="token variable">$ownerData</span><span class="token punctuation">[</span><span class="token string single-quoted-string">&#39;idcode&#39;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
49<span class="token punctuation">}</span>
50</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Optional redirect query parameters:</p><p><code>lang</code> – language of the user. Use 2-letter codes: (ISO 639-1)</p>`,3))])}const h=o(c,[["render",g],["__file","turnkey-solution.html.vue"]]);export{h as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.