[{"data":1,"prerenderedAt":334},["ShallowReactive",2],{"docs-nav-\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fchallenges":3,"\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fchallenges":92},[4],{"title":5,"path":6,"stem":7,"children":8,"page":46},"Account Sharing","\u002Fdocs\u002Faccount-sharing","1.docs\u002F2.account sharing",[9,13,17,21,47,72],{"title":10,"path":11,"stem":12},"How it works","\u002Fdocs\u002Faccount-sharing\u002Fhow-account-sharing-prevention-works","1.docs\u002F2.account sharing\u002F0.How account sharing prevention works",{"title":14,"path":15,"stem":16},"Quick start","\u002Fdocs\u002Faccount-sharing\u002Fquick-start","1.docs\u002F2.account sharing\u002F1.Quick start",{"title":18,"path":19,"stem":20},"Events & actions","\u002Fdocs\u002Faccount-sharing\u002Flisten-to-events","1.docs\u002F2.account sharing\u002F2.Listen to events",{"title":22,"path":23,"stem":24,"children":25,"page":46},"Concepts","\u002Fdocs\u002Faccount-sharing\u002Fconcepts","1.docs\u002F2.account sharing\u002F4.Concepts",[26,30,34,38,42],{"title":27,"path":28,"stem":29},"Challenges","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fchallenges","1.docs\u002F2.account sharing\u002F4.Concepts\u002F0.challenges",{"title":31,"path":32,"stem":33},"Device limits","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fconfigure-device-limits","1.docs\u002F2.account sharing\u002F4.Concepts\u002F1.configure-device-limits",{"title":35,"path":36,"stem":37},"Groups","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fgroups","1.docs\u002F2.account sharing\u002F4.Concepts\u002F2.groups",{"title":39,"path":40,"stem":41},"Automatically detach devices","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fautomatically-detaching-devices","1.docs\u002F2.account sharing\u002F4.Concepts\u002F3.automatically-detaching-devices",{"title":43,"path":44,"stem":45},"Excluded Devices","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fexcluded-devices","1.docs\u002F2.account sharing\u002F4.Concepts\u002F4.excluded-devices",false,{"title":48,"path":49,"stem":50,"children":51,"page":46},"Advanced","\u002Fdocs\u002Faccount-sharing\u002Fadvanced","1.docs\u002F2.account sharing\u002F8.Advanced",[52,56,60,64,68],{"title":53,"path":54,"stem":55},"Signing the user out","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fsigning-the-user-out","1.docs\u002F2.account sharing\u002F8.Advanced\u002F1.Signing the user out",{"title":57,"path":58,"stem":59},"Webhooks","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwebhooks","1.docs\u002F2.account sharing\u002F8.Advanced\u002F2.webhooks",{"title":61,"path":62,"stem":63},"Metadata","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fusing-metadata","1.docs\u002F2.account sharing\u002F8.Advanced\u002F3.Using metadata",{"title":65,"path":66,"stem":67},"When to attach","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwhen-to-call-the-attach-function","1.docs\u002F2.account sharing\u002F8.Advanced\u002F5.When to call the attach function",{"title":69,"path":70,"stem":71},"Tracking conversions","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Ftracking-conversions","1.docs\u002F2.account sharing\u002F8.Advanced\u002F8.Tracking conversions",{"title":73,"path":74,"stem":75,"children":76,"page":46},"Signals","\u002Fdocs\u002Faccount-sharing\u002Fsignals","1.docs\u002F2.account sharing\u002F9.Signals",[77,81,85,89],{"title":78,"path":79,"stem":80},"High velocity","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fhigh-velocity","1.docs\u002F2.account sharing\u002F9.Signals\u002F1.High velocity",{"title":82,"path":83,"stem":84},"Impossible travel","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fimpossible-travel","1.docs\u002F2.account sharing\u002F9.Signals\u002F2.Impossible travel",{"title":86,"path":87,"stem":88},"Concurrency","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fconcurrency","1.docs\u002F2.account sharing\u002F9.Signals\u002F3.Concurrency",{"title":31,"path":90,"stem":91},"\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fdevice-limits","1.docs\u002F2.account sharing\u002F9.Signals\u002F4.Device limits",{"id":93,"title":27,"body":94,"description":327,"extension":328,"meta":329,"navigation":330,"path":28,"seo":331,"sitemap":332,"stem":29,"__hash__":333},"docs\u002F1.docs\u002F2.account sharing\u002F4.Concepts\u002F0.challenges.md",{"type":95,"value":96,"toc":325},"minimark",[97,101,110,131,289,297,303,314,321],[98,99,27],"h1",{"id":100},"challenges",[102,103,104,105,109],"p",{},"A challenge occurs when Rupt detects that an account is being used by more people than allowed. When this happens, Rupt will ask the person to create their own account and log out of this one (the one they are sharing). ",[106,107,108],"a",{"href":11},"See how account sharing prevention works",". This process is what we refer to as a challenge.",[102,111,112,113,117,118,121,122,125,126,130],{},"Challenges allow users to claim that they are the account owner and kick out other people using their account. This is done by verifying their email or phone number. Once they verify their email or phone number, they can log in to their account and kick out other people using their account. To trigger this verification, you need to provide the ",[114,115,116],"code",{},"email"," and ",[114,119,120],{},"phone"," fields when calling the ",[114,123,124],{},"attach"," function. ",[106,127,129],{"href":128},"\u002Fdocs\u002Fjavascript\u002Fquick-start","See how to attach a device",".",[132,133,138],"pre",{"className":134,"code":135,"language":136,"meta":137,"style":137},"language-js shiki shiki-themes one-dark-pro monokai","const { device_id } = await Rupt.attach({\n  client_id: \"client_id\",\n  account: \"account_id\",\n  email: \"user_email\", \u002F\u002F Optional\n  phone: \"user_phone\", \u002F\u002F Optional\n  redirect_urls: {\n    logout_url: \"https:\u002F\u002Fyour-logout-url.com\",\n    new_account_url: \"https:\u002F\u002Fyour-create-new-account-url.com\",\n  },\n});\n","js","",[114,139,140,179,196,209,227,242,251,264,277,283],{"__ignoreMap":137},[141,142,145,149,153,157,160,164,168,171,173,176],"span",{"class":143,"line":144},"line",1,[141,146,148],{"class":147},"sfrnW","const",[141,150,152],{"class":151},"sFXR2"," { ",[141,154,156],{"class":155},"syDQ0","device_id",[141,158,159],{"class":151}," } ",[141,161,163],{"class":162},"sBBc0","=",[141,165,167],{"class":166},"sqnWQ"," await",[141,169,170],{"class":155}," Rupt",[141,172,130],{"class":151},[141,174,124],{"class":175},"sUpKv",[141,177,178],{"class":151},"({\n",[141,180,182,186,189,193],{"class":143,"line":181},2,[141,183,185],{"class":184},"sskXI","  client_id",[141,187,188],{"class":151},": ",[141,190,192],{"class":191},"sgpKs","\"client_id\"",[141,194,195],{"class":151},",\n",[141,197,199,202,204,207],{"class":143,"line":198},3,[141,200,201],{"class":184},"  account",[141,203,188],{"class":151},[141,205,206],{"class":191},"\"account_id\"",[141,208,195],{"class":151},[141,210,212,215,217,220,223],{"class":143,"line":211},4,[141,213,214],{"class":184},"  email",[141,216,188],{"class":151},[141,218,219],{"class":191},"\"user_email\"",[141,221,222],{"class":151},", ",[141,224,226],{"class":225},"sDDnO","\u002F\u002F Optional\n",[141,228,230,233,235,238,240],{"class":143,"line":229},5,[141,231,232],{"class":184},"  phone",[141,234,188],{"class":151},[141,236,237],{"class":191},"\"user_phone\"",[141,239,222],{"class":151},[141,241,226],{"class":225},[141,243,245,248],{"class":143,"line":244},6,[141,246,247],{"class":184},"  redirect_urls",[141,249,250],{"class":151},": {\n",[141,252,254,257,259,262],{"class":143,"line":253},7,[141,255,256],{"class":184},"    logout_url",[141,258,188],{"class":151},[141,260,261],{"class":191},"\"https:\u002F\u002Fyour-logout-url.com\"",[141,263,195],{"class":151},[141,265,267,270,272,275],{"class":143,"line":266},8,[141,268,269],{"class":184},"    new_account_url",[141,271,188],{"class":151},[141,273,274],{"class":191},"\"https:\u002F\u002Fyour-create-new-account-url.com\"",[141,276,195],{"class":151},[141,278,280],{"class":143,"line":279},9,[141,281,282],{"class":151},"  },\n",[141,284,286],{"class":143,"line":285},10,[141,287,288],{"class":151},"});\n",[102,290,291,292],{},"Using the above sample code, the challenge journey looks like this:\n",[293,294],"img",{"alt":295,"src":296,"title":295},"Challenge journey","\u002Fimg\u002Fjourney\u002Fconversion-journey-creds.svg",[102,298,299,300],{},"If neither email nor phone is provided, the verification step will be skipped and any person using the account can kick out other users and devices.\n",[293,301],{"alt":295,"src":302,"title":295},"\u002Fimg\u002Fjourney\u002Fconversion-journey-no-creds.svg",[102,304,305,306,117,308,310,311,313],{},"We recommend including the ",[114,307,116],{},[114,309,120],{}," parameters in the ",[114,312,124],{}," call because it adds friction to sharing and ensures that only owners (or with their permission) is the account being shared. This has been proven to increase conversion rates.",[102,315,316,317,130],{},"For more information on challenges, see the ",[106,318,320],{"href":319},"\u002Fdocs\u002Fchallenges\u002Foverview","challenges documentation",[322,323,324],"style",{},"html pre.shiki code .sfrnW, html code.shiki .sfrnW{--shiki-default:#C678DD;--shiki-default-font-style:inherit;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic}html pre.shiki code .sFXR2, html code.shiki .sFXR2{--shiki-default:#ABB2BF;--shiki-dark:#F8F8F2}html pre.shiki code .syDQ0, html code.shiki .syDQ0{--shiki-default:#E5C07B;--shiki-dark:#F8F8F2}html pre.shiki code .sBBc0, html code.shiki .sBBc0{--shiki-default:#56B6C2;--shiki-dark:#F92672}html pre.shiki code .sqnWQ, html code.shiki .sqnWQ{--shiki-default:#C678DD;--shiki-dark:#F92672}html pre.shiki code .sUpKv, html code.shiki .sUpKv{--shiki-default:#61AFEF;--shiki-dark:#A6E22E}html pre.shiki code .sskXI, html code.shiki .sskXI{--shiki-default:#E06C75;--shiki-dark:#F8F8F2}html pre.shiki code .sgpKs, html code.shiki .sgpKs{--shiki-default:#98C379;--shiki-dark:#E6DB74}html pre.shiki code .sDDnO, html code.shiki .sDDnO{--shiki-default:#7F848E;--shiki-default-font-style:italic;--shiki-dark:#88846F;--shiki-dark-font-style:inherit}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":137,"searchDepth":181,"depth":181,"links":326},[],"A challenge occurs when Rupt detects that an account is being used by more people than allowed. When this happens, Rupt will ask the person to create their own account and log out of this one (the one they are sharing). See how account sharing prevention works. This process is what we refer to as a challenge.","md",{},true,{"title":27,"description":327},{"loc":28},"su5YrGkMwVw_dBt490ke_6nLIFzkComaUpkBVt1hWcg",1776449525413]