Skip to content

Commit

Permalink
Merge pull request #1285 from aaronthebaron/master
Browse files Browse the repository at this point in the history
Update the googleapps IDP provider to work with changes to Google log…
  • Loading branch information
mapkon authored Jun 7, 2024
2 parents fff99ad + 99d6fe4 commit c7eb46d
Show file tree
Hide file tree
Showing 4 changed files with 268 additions and 11 deletions.
102 changes: 102 additions & 0 deletions pkg/provider/googleapps/example/captcha.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<!doctype html>
<html lang="en" dir="ltr">
<head>
<title>Sign in - Google Accounts</title>
</head>
<body>
<div class="BDEI9 LZgQXe">
<div class="Ha17qf" data-auto-init="Card">
<div class="Or16q">
<div data-view-id="hm18Ec" data-locale="en" data-allow-sign-up-types="true"><c-wiz jsrenderer="OTcFib" jsshadow jsdata="deferred-i2" data-p="%.@.]" data-node-index="2;0" jsmodel="hc6Ubd" c-wiz>
<div class="gEc4r"><img src="//ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_74x24dp.png" class="TrZEUc" alt="Google" width="74" height="24"></div>
<div class="EQIoSc" jsname="bN97Pc">
<div jsname="paFcre">
<div class="aMfydd" jsname="tJHJj">
<h1 class="Tn0LBd" jsname="r4nke">Sign in</h1>
<p class="a2CQh" jsname="VdSJob">Use your Google Account</p>
</div>
</div>
<form action="/v3/signin/identifier?continue=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;dsh=XXXXXXXXX:YYYYYYYYY&amp;faa=1&amp;flowEntry=ServiceLogin&amp;flowName=WebLiteSignIn&amp;followup=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;hl=en&amp;ifkv=ABCDEFGHIJKLMNOPQRSTUVWXYZ?hl%3Den?hl%3Den" method="POST" novalidate>
<div class="iEhbme" jsname="rEuO1b">
<section class="aN1Vld ">
<div class="yOnVIb" jsname="MZArnb">
<div class="Fu5aXd" jsname="dWPKW">
<div class="Flfooc">
<div class="TRuRhd YKooDc">
<div class="fjpXlc">
<label class="dXXNOd">
<input class="xyezD" jsname="Ufn6O" type="email" name="identifier" id="identifierId" value="test-id1@example.com" autofocus autocapitalize="none" autocomplete="username" dir="ltr"/>
<div class="nWPx2e">
<div class="YhhY8"></div>
<div class="CCQ94b">Email or phone</div>
<div class="tNASEf"></div>
</div>
</label>
</div>
</div>
</div>
<div class="F3wxlc" jsname="h9d3hd"></div>
<div class="NHVGlc" jsname="JIbuQc"></div>
</div>
<p class="vOZun" jsname="OZNMeb" aria-live="assertive"></p>
<p class="vOZun"><a href="/signin/usernamerecovery?continue=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;dsh=XXXXXXXXX:YYYYYYYYY&amp;faa=1&amp;flowEntry=ServiceLogin&amp;flowName=WebLiteSignIn&amp;followup=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;hl=en&amp;ifkv=ABCDEFGHIJKLMNOPQRSTUVWXYZ?hl%3Den?hl%3Den" jsname="Cuz2Ue">Forgot email?</a></p>
<input type="password" name="hiddenPassword" class="hJIRO" tabindex="-1" aria-hidden="true" spellcheck="false" jsname="RHeR4d">
<div class="ZWssT" data-auto-init="CaptchaInput" jsname="Si5T8b">
<img jsname="O9Milc" alt="CAPTCHA image of text used to distinguish humans from robots" src="/Captcha?v=2&ctoken=super_long_captcha_string" id="captchaimg" class="TrZEUc">
<button class="vopC4e TrZEUc" jsname="A1U4Sb" id="playCaptchaButton" tabindex="0" type="button" aria-label="Listen and type the numbers you hear"><svg aria-hidden="true" class="hZUije JVMrYb" fill="currentColor" focusable="false" width="18px" height="18px" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.8-1-3.3-2.5-4v8c1.5-.7 2.5-2.2 2.5-4zM14 3.2v2.1c2.9.9 5 3.5 5 6.7s-2.1 5.9-5 6.7v2.1c4-.9 7-4.5 7-8.8s-3-7.9-7-8.8z"></path></svg></button>
<audio jsname="CakGX" src="/Captcha?v=2&ctoken=super_long_captcha_string&kind=audio" type="audio/wav" id="captchaAudio"></audio>
<div class="Fu5aXd Jj6Lae" jsname="jKg4ed">
<div class="Flfooc">
<div class="TRuRhd YKooDc">
<div class="fjpXlc">
<label class="dXXNOd">
<input class="xyezD" jsname="Ufn6O" type="text" name="ca" dir="ltr" aria-invalid="true"/>
<div class="nWPx2e">
<div class="YhhY8"></div>
<div class="CCQ94b">Type the text you hear or see</div>
<div class="tNASEf"></div>
</div>
</label>
</div>
</div>
</div>
<div class="F3wxlc" jsname="h9d3hd">
<div class="EllNBf" aria-hidden="true"><svg aria-hidden="true" class="hZUije SnjiRb" fill="currentColor" focusable="false" width="16px" height="16px" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg></div>
<div jsname="B34EJ">
<span jsslot>Please enter the characters you see in the image above</span>
</div>
</div>
<div class="NHVGlc" jsname="JIbuQc"></div>
</div>
<input jsname="SBlSod" type="hidden" name="ct" value="super_long_captcha_string" id="ct">
</div>
<input type="hidden" name="usi" value="XXXXXXXXX:YYYYYYYYY">
<input type="hidden" name="domain" value="">
<input type="hidden" name="region" value="US">
<span jsname="xdJtEf">
<input type="hidden" name="bgresponse" value="js_disabled" id="bgresponse" style="display:none">
</span>
<span jsname="ZVfTqd"></span>
</div>
</section>
</div>
<span jsslot>
<div class="D4rY0b">
<p class="vOZun">Not your computer? Use a private browsing window to sign in. <a href="https://support.google.com/accounts?p=signin_privatebrowsing&amp;hl=en" jsname="JFyozc" target="_blank">Learn more about using Guest mode</a></p>
</div>
</span>
<div class="i2knIc" jsname="DH6Rkf">
<div class="wg0fFb" jsname="DhK0U">
<div class="RhTxBf" jsname="k77Iif"><button name="action" class="JnOM6e TrZEUc rDisVe" value="1" jsname="Njthtb" id="identifierNext">Next</button></div>
<div class="tmMcIf" jsname="QkNstf"><a href="/lifecycle/flows/signup?continue=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;dsh=XXXXXXXXX:YYYYYYYYY&amp;faa=1&amp;flowEntry=SignUp&amp;flowName=GlifWebSignIn&amp;followup=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;hl=en&amp;ifkv=ABCDEFGHIJKLMNOPQRSTUVWXYZ?hl%3Den?hl%3Den" class="JnOM6e TrZEUc kTeh9 KXbQ4b">Create account</a></div>
</div>
</div>
<input type="hidden" name="at" value="VVVVVVVVVVV:ZZZZZZZZZZZZZZZZ">
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
93 changes: 93 additions & 0 deletions pkg/provider/googleapps/example/form-password-challengeid-3.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<!doctype html>
<html lang="en-US" dir="ltr">
<head>
<base href="https://accounts.google.com/v3/signin/">
<link ref="preconnect" href="//www.gstatic.com">
<meta name="referrer" content="origin">
<link rel="canonical" href="https://accounts.googele.com/v3/signin/challenge/pwd">
<meta name="chrome" content="nointentdetection">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<title>Sign in - Google Accounts</title>
</head>
<body>
<div class="BDEI9 LZgQXe">
<div class="Ha17qf" data-auto-init="Card">
<div class="Or16q">
<div data-view-id="b5STy">
<div class="gEc4r">
<img src="//ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_74x24dp.png" class="TrZEUc" alt="Google" width="74" height="24">
</div>
<div class="EQIoSc" jsname="bN97Pc" data-use-configureable-escape-action="true">
<div jsname="paFcre">
<div class="aMfydd" jsname="tJHJj">
<h1 class="Tn0LBd" jsname="r4nke">Welcome</h1>
<p class="a2CQh" jsname="VdSJob"></p>
<div class="C7uRJc">
<a href="/v3/signin/identifier?continue=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;dsh=foo:bar&amp;faa=1&amp;flowEntry=ServiceLogin&amp;flowName=WebLiteSignIn&amp;followup=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;hl=en_US&amp;ifkv=ABCDEFGHIJKLMNOPQRSTUVWXYZ?hl%3Den" class="HDuqac EI77qf TrZEUc cd29Sd iiFyne" tabindex="0" aria-label="test-id3@example.com selected. Switch account" jsname="af8ijd">
<div class="BOs5fd">
<div jsname="bQIQze" class="wJxLsd" data-profile-identifier translate="no">test-id3@example.com</div>
</a>
</div>
</div>
</div>
<form action="/v3/signin/challenge/pwd?TL=ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;cid=2&amp;continue=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;dsh=foo:bar&amp;faa=1&amp;flowEntry=ServiceLogin&amp;flowName=WebLiteSignIn&amp;followup=https://accounts.google.com/o/saml2/initsso?idpid%3DXXXXXX%26spid%3DYYYYYY%26forceauthn%3Dfalse%26hl%3Den%26loc%3DUS&amp;hl=en_US&amp;ifkv=ABCDEFGHIJKLMNOPQRSTUVWXYZ?hl%3Den" method="POST" novalidate>
<div class="iEhbme" jsname="rEuO1b">
<section class="aN1Vld fegW5d rNe0id eLNT1d S7S4N" aria-hidden="true" jsname="INM6z" aria-live="assertive" aria-atomic="true">
<header class="wSQNd" jsname="tJHJj">
<h2 class="cySqRb TrZEUc">
<span class="zlrrr" aria-hidden="true" jsname="Bz112c"><svg aria-hidden="true" class="hZUije GxLRef" fill="currentColor" focusable="false" width="20px" height="20px" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"></path></svg>
</span>
<span jsname="Ud7fr">Too many failed attempts</span>
</h2>
<div jsname="HSrbLb" aria-hidden="true"></div>
</header>
</section>
<section class="aN1Vld " jsname="dZbRZb"><div class="yOnVIb" jsname="MZArnb">
<span jsname="xdJtEf">
<input type="hidden" name="bgresponse" value="js_disabled" id="bgresponse" style="display:none">
</span>
<input type="text" name="identifier" class="hJIRO" tabindex="-1" aria-hidden="true" spellcheck="false" value="test-id3@example.com" jsname="KKx9x" autocomplete="off" id="hiddenEmail">
<div class="Fu5aXd" jsname="vZSTIf">
<div class="Flfooc">
<div class="TRuRhd YKooDc">
<div class="fjpXlc">
<label class="dXXNOd">
<input class="xyezD" jsname="Ufn6O" type="password" name="Passwd" id="password" autofocus autocapitalize="off" autocomplete="current-password" dir="ltr"/>
<div class="nWPx2e">
<div class="YhhY8"></div>
<div class="CCQ94b">Enter your password</div>
<div class="tNASEf"></div>
</div>
</label>
</div>
</div>
</div>
<div class="F3wxlc" jsname="h9d3hd"></div>
<div class="NHVGlc" jsname="JIbuQc"></div>
</div>
<input type="hidden" name="TrustDevice" value="true">
<input type="hidden" name="historicalPassword" value="false">
</div>
</section>
<input type="hidden" name="" value="test-id3@example.com" jsname="m2Owvb" id="identifierId">
</div>
<div class="i2knIc" jsname="DH6Rkf">
<div class="wg0fFb" jsname="DhK0U">
<div class="RhTxBf" jsname="k77Iif">
<button name="action" class="JnOM6e TrZEUc rDisVe" value="1" jsname="Njthtb" id="passwordNext">Next</button>
</div>
<div class="tmMcIf" jsname="QkNstf">
<button name="action" class="JnOM6e TrZEUc KXbQ4b" value="3" jsname="gVmDzc">Try another way</button>
</div>
</div>
</div>
<input type="hidden" name="at" value="ALt4Ve3-7VDKsElQQfRT91gYiMG8:1717681198454">
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Loading

0 comments on commit c7eb46d

Please sign in to comment.