Buckets:
| import{s as Se,n as ye,o as $e}from"../chunks/scheduler.409792a1.js";import{S as ke,i as be,e as a,s,c as S,h as we,a as o,d as i,b as l,f as Ce,g as y,j as u,l as p,m as Le,n,o as $,p as k,q as b,r as w}from"../chunks/index.92d389ff.js";import{C as Te}from"../chunks/CopyLLMTxtMenu.75899c1b.js";import{C as Me}from"../chunks/CodeBlock.d7fa2a05.js";import{H as it,E as _e}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.d35b6be7.js";function He(qt){let r,nt,tt,st,L,lt,T,at,M,Nt="In this guide, we will use Okta as the SSO provider and with the Security Assertion Markup Language (SAML) protocol as our preferred identity protocol.",ot,_,Jt='We currently support SP-initiated and IdP-initiated authentication. For user provisioning, see <a href="./enterprise-scim">SCIM</a>.',ut,g,Qt='<p>This feature is part of the <a href="https://huggingface.co/enterprise">Team & Enterprise</a> plans.</p>',pt,H,rt,P,Bt="Open a new tab/window in your browser and sign in to your Okta account.",gt,I,Yt="Navigate to “Admin/Applications” and click the “Create App Integration” button.",ct,c,Gt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-1.png"/>',ft,O,Zt="Then choose an “SAML 2.0” application and click “Create”.",mt,f,Wt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-1.png"/>',dt,E,ht,j,Kt="Open a new tab/window in your browser and navigate to the SSO section of your organization’s settings. Select the SAML protocol.",vt,m,Xt='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-navigation-settings.png"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-navigation-settings-dark.png"/>',xt,d,te='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-settings-saml.png"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-settings-saml-dark.png"/>',Ct,z,ee=`Copy the “Assertion Consumer Service URL” from the organization’s settings on Hugging Face, and paste it in the “Single sign-on URL” field on Okta. | |
| The URL looks like this: <code>https://huggingface.co/organizations/[organizationIdentifier]/saml/consume</code>.`,St,h,ie='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-2.png"/>',yt,U,ne="On Okta, set the following settings:",$t,A,se="<li>Set Audience URI (SP Entity Id) to match the “SP Entity ID” value on Hugging Face.</li> <li>Set Name ID format to EmailAddress.</li> <li>Under “Show Advanced Settings”, verify that Response and Assertion Signature are set to: Signed.</li>",kt,R,le="Save your new application.",bt,D,wt,F,ae="In your Okta application, under “Sign On/Settings/More details”, find the following fields:",Lt,V,oe=`<li>Sign-on URL</li> <li>Public certificate</li> <li>SP Entity ID | |
| You will need them to finalize the SSO setup on Hugging Face.</li>`,Tt,v,ue='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-4.png"/>',Mt,q,pe="In the SSO section of your organization’s settings, copy-paste these values from Okta:",_t,N,re="<li>Sign-on URL</li> <li>SP Entity ID</li> <li>Public certificate</li>",Ht,J,ge="The public certificate must have the following format:",Pt,Q,It,x,ce='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-5.png"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-5-dark.png"/>',Ot,B,fe="You can now click on “Update and Test SAML configuration” to save the settings.",Et,Y,me="You should be redirected to your SSO provider (IdP) login prompt. Once logged in, you’ll be redirected to your organization’s settings page.",jt,G,de="A green check mark near the SAML selector will attest that the test was successful.",zt,C,he='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-6.png"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/sso/sso-okta-guide-saml-6-dark.png"/>',Ut,Z,At,W,ve="Now that Single Sign-On is configured and tested, you can enable it for members of your organization by clicking on the “Enable” button.",Rt,K,xe='Once enabled, members of your organization must complete the SSO authentication flow described in the <a href="./security-sso-basic#how-it-works">How it works</a> section.',Dt,X,Ft,et,Vt;return L=new Te({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new it({props:{title:"How to configure SAML SSO with Okta",local:"how-to-configure-saml-sso-with-okta",headingTag:"h1"}}),H=new it({props:{title:"Step 1: Create a new application in your Identity Provider",local:"step-1-create-a-new-application-in-your-identity-provider",headingTag:"h2"}}),E=new it({props:{title:"Step 2: Configure your application on Okta",local:"step-2-configure-your-application-on-okta",headingTag:"h2"}}),D=new it({props:{title:"Step 3: Finalize configuration on Hugging Face",local:"step-3-finalize-configuration-on-hugging-face",headingTag:"h2"}}),Q=new Me({props:{code:"LS0tLS1CRUdJTiUyMENFUlRJRklDQVRFLS0tLS0lMEElN0JjZXJ0aWZpY2F0ZSU3RCUwQS0tLS0tRU5EJTIwQ0VSVElGSUNBVEUtLS0tLQ==",highlighted:`<span class="hljs-literal">-----</span><span class="hljs-comment">BEGIN CERTIFICATE</span><span class="hljs-literal">-----</span> | |
| <span class="hljs-comment">{certificate}</span> | |
| <span class="hljs-literal">-----</span><span class="hljs-comment">END CERTIFICATE</span><span class="hljs-literal">-----</span>`,lang:"",wrap:!1}}),Z=new it({props:{title:"Step 4: Enable SSO in your organization",local:"step-4-enable-sso-in-your-organization",headingTag:"h2"}}),X=new _e({props:{source:"https://github.com/huggingface/hub-docs/blob/main/docs/hub/security-sso-okta-saml.md"}}),{c(){r=a("meta"),nt=s(),tt=a("p"),st=s(),S(L.$$.fragment),lt=s(),S(T.$$.fragment),at=s(),M=a("p"),M.textContent=Nt,ot=s(),_=a("p"),_.innerHTML=Jt,ut=s(),g=a("blockquote"),g.innerHTML=Qt,pt=s(),S(H.$$.fragment),rt=s(),P=a("p"),P.textContent=Bt,gt=s(),I=a("p"),I.textContent=Yt,ct=s(),c=a("div"),c.innerHTML=Gt,ft=s(),O=a("p"),O.textContent=Zt,mt=s(),f=a("div"),f.innerHTML=Wt,dt=s(),S(E.$$.fragment),ht=s(),j=a("p"),j.textContent=Kt,vt=s(),m=a("div"),m.innerHTML=Xt,xt=s(),d=a("div"),d.innerHTML=te,Ct=s(),z=a("p"),z.innerHTML=ee,St=s(),h=a("div"),h.innerHTML=ie,yt=s(),U=a("p"),U.textContent=ne,$t=s(),A=a("ul"),A.innerHTML=se,kt=s(),R=a("p"),R.textContent=le,bt=s(),S(D.$$.fragment),wt=s(),F=a("p"),F.textContent=ae,Lt=s(),V=a("ul"),V.innerHTML=oe,Tt=s(),v=a("div"),v.innerHTML=ue,Mt=s(),q=a("p"),q.textContent=pe,_t=s(),N=a("ul"),N.innerHTML=re,Ht=s(),J=a("p"),J.textContent=ge,Pt=s(),S(Q.$$.fragment),It=s(),x=a("div"),x.innerHTML=ce,Ot=s(),B=a("p"),B.textContent=fe,Et=s(),Y=a("p"),Y.textContent=me,jt=s(),G=a("p"),G.textContent=de,zt=s(),C=a("div"),C.innerHTML=he,Ut=s(),S(Z.$$.fragment),At=s(),W=a("p"),W.textContent=ve,Rt=s(),K=a("p"),K.innerHTML=xe,Dt=s(),S(X.$$.fragment),Ft=s(),et=a("p"),this.h()},l(t){const e=we("svelte-u9bgzb",document.head);r=o(e,"META",{name:!0,content:!0}),e.forEach(i),nt=l(t),tt=o(t,"P",{}),Ce(tt).forEach(i),st=l(t),y(L.$$.fragment,t),lt=l(t),y(T.$$.fragment,t),at=l(t),M=o(t,"P",{"data-svelte-h":!0}),u(M)!=="svelte-5oc1b1"&&(M.textContent=Nt),ot=l(t),_=o(t,"P",{"data-svelte-h":!0}),u(_)!=="svelte-9a9bow"&&(_.innerHTML=Jt),ut=l(t),g=o(t,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(g)!=="svelte-16y0s3r"&&(g.innerHTML=Qt),pt=l(t),y(H.$$.fragment,t),rt=l(t),P=o(t,"P",{"data-svelte-h":!0}),u(P)!=="svelte-gqqhfw"&&(P.textContent=Bt),gt=l(t),I=o(t,"P",{"data-svelte-h":!0}),u(I)!=="svelte-1w2fzw6"&&(I.textContent=Yt),ct=l(t),c=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(c)!=="svelte-1jje88h"&&(c.innerHTML=Gt),ft=l(t),O=o(t,"P",{"data-svelte-h":!0}),u(O)!=="svelte-ecvvfx"&&(O.textContent=Zt),mt=l(t),f=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(f)!=="svelte-27o8of"&&(f.innerHTML=Wt),dt=l(t),y(E.$$.fragment,t),ht=l(t),j=o(t,"P",{"data-svelte-h":!0}),u(j)!=="svelte-1nr8jgz"&&(j.textContent=Kt),vt=l(t),m=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(m)!=="svelte-1os4n6r"&&(m.innerHTML=Xt),xt=l(t),d=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(d)!=="svelte-6ydacv"&&(d.innerHTML=te),Ct=l(t),z=o(t,"P",{"data-svelte-h":!0}),u(z)!=="svelte-1ukrbqx"&&(z.innerHTML=ee),St=l(t),h=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(h)!=="svelte-v4b8g"&&(h.innerHTML=ie),yt=l(t),U=o(t,"P",{"data-svelte-h":!0}),u(U)!=="svelte-rcllh9"&&(U.textContent=ne),$t=l(t),A=o(t,"UL",{"data-svelte-h":!0}),u(A)!=="svelte-e92jhs"&&(A.innerHTML=se),kt=l(t),R=o(t,"P",{"data-svelte-h":!0}),u(R)!=="svelte-pyiwmi"&&(R.textContent=le),bt=l(t),y(D.$$.fragment,t),wt=l(t),F=o(t,"P",{"data-svelte-h":!0}),u(F)!=="svelte-1drc6ok"&&(F.textContent=ae),Lt=l(t),V=o(t,"UL",{"data-svelte-h":!0}),u(V)!=="svelte-17czuo0"&&(V.innerHTML=oe),Tt=l(t),v=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(v)!=="svelte-jb235y"&&(v.innerHTML=ue),Mt=l(t),q=o(t,"P",{"data-svelte-h":!0}),u(q)!=="svelte-1rqk1n9"&&(q.textContent=pe),_t=l(t),N=o(t,"UL",{"data-svelte-h":!0}),u(N)!=="svelte-1by62dk"&&(N.innerHTML=re),Ht=l(t),J=o(t,"P",{"data-svelte-h":!0}),u(J)!=="svelte-k7dxmn"&&(J.textContent=ge),Pt=l(t),y(Q.$$.fragment,t),It=l(t),x=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(x)!=="svelte-sjneyz"&&(x.innerHTML=ce),Ot=l(t),B=o(t,"P",{"data-svelte-h":!0}),u(B)!=="svelte-b7hvyk"&&(B.textContent=fe),Et=l(t),Y=o(t,"P",{"data-svelte-h":!0}),u(Y)!=="svelte-lto0we"&&(Y.textContent=me),jt=l(t),G=o(t,"P",{"data-svelte-h":!0}),u(G)!=="svelte-nyltxu"&&(G.textContent=de),zt=l(t),C=o(t,"DIV",{class:!0,"data-svelte-h":!0}),u(C)!=="svelte-xxhitd"&&(C.innerHTML=he),Ut=l(t),y(Z.$$.fragment,t),At=l(t),W=o(t,"P",{"data-svelte-h":!0}),u(W)!=="svelte-1gfp18n"&&(W.textContent=ve),Rt=l(t),K=o(t,"P",{"data-svelte-h":!0}),u(K)!=="svelte-lyrvrc"&&(K.innerHTML=xe),Dt=l(t),y(X.$$.fragment,t),Ft=l(t),et=o(t,"P",{}),Ce(et).forEach(i),this.h()},h(){p(r,"name","hf:doc:metadata"),p(r,"content",Pe),p(g,"class","warning"),p(c,"class","flex justify-center"),p(f,"class","flex justify-center"),p(m,"class","flex justify-center"),p(d,"class","flex justify-center"),p(h,"class","flex justify-center"),p(v,"class","flex justify-center"),p(x,"class","flex justify-center"),p(C,"class","flex justify-center")},m(t,e){Le(document.head,r),n(t,nt,e),n(t,tt,e),n(t,st,e),$(L,t,e),n(t,lt,e),$(T,t,e),n(t,at,e),n(t,M,e),n(t,ot,e),n(t,_,e),n(t,ut,e),n(t,g,e),n(t,pt,e),$(H,t,e),n(t,rt,e),n(t,P,e),n(t,gt,e),n(t,I,e),n(t,ct,e),n(t,c,e),n(t,ft,e),n(t,O,e),n(t,mt,e),n(t,f,e),n(t,dt,e),$(E,t,e),n(t,ht,e),n(t,j,e),n(t,vt,e),n(t,m,e),n(t,xt,e),n(t,d,e),n(t,Ct,e),n(t,z,e),n(t,St,e),n(t,h,e),n(t,yt,e),n(t,U,e),n(t,$t,e),n(t,A,e),n(t,kt,e),n(t,R,e),n(t,bt,e),$(D,t,e),n(t,wt,e),n(t,F,e),n(t,Lt,e),n(t,V,e),n(t,Tt,e),n(t,v,e),n(t,Mt,e),n(t,q,e),n(t,_t,e),n(t,N,e),n(t,Ht,e),n(t,J,e),n(t,Pt,e),$(Q,t,e),n(t,It,e),n(t,x,e),n(t,Ot,e),n(t,B,e),n(t,Et,e),n(t,Y,e),n(t,jt,e),n(t,G,e),n(t,zt,e),n(t,C,e),n(t,Ut,e),$(Z,t,e),n(t,At,e),n(t,W,e),n(t,Rt,e),n(t,K,e),n(t,Dt,e),$(X,t,e),n(t,Ft,e),n(t,et,e),Vt=!0},p:ye,i(t){Vt||(k(L.$$.fragment,t),k(T.$$.fragment,t),k(H.$$.fragment,t),k(E.$$.fragment,t),k(D.$$.fragment,t),k(Q.$$.fragment,t),k(Z.$$.fragment,t),k(X.$$.fragment,t),Vt=!0)},o(t){b(L.$$.fragment,t),b(T.$$.fragment,t),b(H.$$.fragment,t),b(E.$$.fragment,t),b(D.$$.fragment,t),b(Q.$$.fragment,t),b(Z.$$.fragment,t),b(X.$$.fragment,t),Vt=!1},d(t){t&&(i(nt),i(tt),i(st),i(lt),i(at),i(M),i(ot),i(_),i(ut),i(g),i(pt),i(rt),i(P),i(gt),i(I),i(ct),i(c),i(ft),i(O),i(mt),i(f),i(dt),i(ht),i(j),i(vt),i(m),i(xt),i(d),i(Ct),i(z),i(St),i(h),i(yt),i(U),i($t),i(A),i(kt),i(R),i(bt),i(wt),i(F),i(Lt),i(V),i(Tt),i(v),i(Mt),i(q),i(_t),i(N),i(Ht),i(J),i(Pt),i(It),i(x),i(Ot),i(B),i(Et),i(Y),i(jt),i(G),i(zt),i(C),i(Ut),i(At),i(W),i(Rt),i(K),i(Dt),i(Ft),i(et)),i(r),w(L,t),w(T,t),w(H,t),w(E,t),w(D,t),w(Q,t),w(Z,t),w(X,t)}}}const Pe='{"title":"How to configure SAML SSO with Okta","local":"how-to-configure-saml-sso-with-okta","sections":[{"title":"Step 1: Create a new application in your Identity Provider","local":"step-1-create-a-new-application-in-your-identity-provider","sections":[],"depth":2},{"title":"Step 2: Configure your application on Okta","local":"step-2-configure-your-application-on-okta","sections":[],"depth":2},{"title":"Step 3: Finalize configuration on Hugging Face","local":"step-3-finalize-configuration-on-hugging-face","sections":[],"depth":2},{"title":"Step 4: Enable SSO in your organization","local":"step-4-enable-sso-in-your-organization","sections":[],"depth":2}],"depth":1}';function Ie(qt){return $e(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ae extends ke{constructor(r){super(),be(this,r,Ie,He,Se,{})}}export{Ae as component}; | |
Xet Storage Details
- Size:
- 13.3 kB
- Xet hash:
- 4a08de27e65c448a5e8c2c569c80a4fe30795d6dab785970efc1cfc2e90ecdc4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.