1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 4-5
4 5<script async src="https://www.googletagmanager.com/gtag/js?id=
5UA-681821-30
vendor: 13 bytes, line 5
5"></script>
6<script> 7
vendor: 138 bytes, lines 7-11
7window.dataLayer = window.dataLayer || []; 8 function gtag() { dataLayer.push(arguments); } 9 gtag('js', new Date()); 10 11 gtag('config', '
11UA-681821-30
vendor: 5 bytes, line 11
11');
12</script>
12 13 14<!-- Google Tag Manager -->
15<script>
vendor: 403 bytes, lines 15-23
15 16 (function (w, d, s, l, i) { 17 w[l] = w[l] || []; w[l].push({ 18 'gtm.start': 19 new Date().getTime(), event: 'gtm.js' 20 }); var f = d.getElementsByTagName(s)[0], 21 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 22 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 23 })(window, document, 'script', 'dataLayer', '
23GTM-5RCV9HL
vendor: 3 bytes, line 23
23');
23</script>
23 24<!-- End Google Tag Manager --> 25 26<title>Sign In</title> 27 28<meta charset="utf-8" /> 29<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 30 31<!-- HTML Meta Tags --> 32<meta name="description" content="Create your Link in Bio Free! Add Links, Videos, Music, Email / SMS Sign Up & Shops to your Instagram, TikTok, YouTube, X or other Social Media profiles!"> 33<meta name="keywords" content="Link in Bio, Link in Bio App, LinkInBio, Instagram Link in Bio, Link in Bio Instagram, Bio Link, How to link Instagram to TikTok, Link Bio, Lnk Bio, TikTok Link in Bio, Link in Bio TikTok, In Bio, Link in Bio Free, Link in Bio Platforms, LinkInBio Free, LinkInBio Login, LinkIn.bio, Link in Bio Tools, Best Link in Bio, Best Link in Bio Platform, link in bio.com, linknbio, Music Bio Link, Instagram, Digital Marketing, Marketing Digital, Data Driven Marketing, Data-Driven Marketing, Social Media Marketing, Email Marketing, Email Marketing Software, SMS Marketing, Social Login, Facebook Login, Google Sign In, Sign in with Apple, Facebook Ads, Email Subscription Form, Subscription Form, Subscribe Form, Email Signup Form, Mailchimp, Constant Contact, ConvertKit, Linktree" /> 34<meta name="robots" content="index, follow"> 35<meta name="facebook-domain-verification" content="oceq0qthne3rl3xwgy1r4504em4hjb" /> 36 37<!-- CSS References --> 38<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 39<link href="/assets/fontawesome/css/all.min.css?v=CZtregfn3vjHbyD3LPhEvwaUI6TOuYOCk_UrNMWNo0Y" rel="stylesheet"> 40<link href="/css/site.min.css?v=wh0HAThYXXfD1XJq7Ls5j71HEHMbwDhYpkGOtQ_Shbw" rel="stylesheet" /> 41 42<!-- JavaScript References -->
43<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
43
44<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
44
45<script src="/js/site.js?v=h8kqzSmroBap4Urc1WGytO_1hOstN3LX5hZyN3-sHJ8"></script>
45 46 47<!-- Favicon for Various Sizes --> 48<link rel="icon" type="image/x-icon" href="/assets/images/favicon/favicon.ico?v=K_QbM-JVPkVaZ4W64QYDFAS-wOEFY5ukX7VVgJGuQ1M"> 49<link rel="icon" type="image/png" href="/assets/images/favicon/16x16.png?v=uPTkc6eibV8yzFocyU7-wMPtkCeIgWzXs_K2JIi2AT8" sizes="16x16"> 50<link rel="icon" type="image/png" href="/assets/images/favicon/32x32.png?v=9u2tIIhoeuACvfTnYbO5pU_-Mi9_QvOprFuC2lgDBgo" sizes="32x32"> 51<link rel="icon" type="image/png" href="/assets/images/favicon/48x48.png?v=WEjthW_INx1dyx_NuO0p8OH-i_XlZ3xD3JsD_Bg2DjQ" sizes="48x48"> 52<link rel="icon" type="image/png" href="/assets/images/favicon/64x64.png?v=Ph0xdDgpxlOhwhxvmmNdWSjAfu9ELAcQ_m0Hg3SBcuU" sizes="64x64"> 53<link rel="icon" type="image/png" href="/assets/images/favicon/192x192.png?v=kXtzAJN5syGcx9tCLS7urQFXqIf8p2t_VofC7cn6lOY" sizes="192x192"> 54 55<!-- Apple App Store Smart App Banner --> 56<meta name="apple-itunes-app" content="app-id=6478511423"> 57 58<!-- PWA Configuration -->
59<script>if (location.hostname === 'linknbio.com') { navigator.serviceWorker.register('/service-worker.js'); }</script>
59 60<link rel="manifest" href="/manifest.json"> 61<link rel="shortcut icon" type="image/png" href="https://linknbio.com/assets/images/app-icons/icon-192.png"> 62<meta name="mobile-web-app-capable" content="yes" /> 63<meta name="apple-touch-fullscreen" content="yes" /> 64<meta name="apple-mobile-web-app-title" content="Link in Bio" /> 65<meta name="apple-mobile-web-app-capable" content="yes" /> 66<meta name="apple-mobile-web-app-status-bar-style" content="default" /> 67<link rel="apple-touch-icon" sizes="192x192" href="/assets/images/app-icons/icon-192.png" /> 68<link rel="apple-touch-startup-image" media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_14_Pro_Max_landscape.png"> 69<link rel="apple-touch-startup-image" media="screen and (device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_14_Pro_landscape.png"> 70<link rel="apple-touch-startup-image" media="screen and (device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_landscape.png"> 71<link rel="apple-touch-startup-image" media="screen and (device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_landscape.png"> 72<link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_landscape.png"> 73<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_11_Pro_Max__iPhone_XS_Max_landscape.png"> 74<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_11__iPhone_XR_landscape.png"> 75<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_landscape.png"> 76<link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_landscape.png"> 77<link rel="apple-touch-startup-image" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/4__iPhone_SE__iPod_touch_5th_generation_and_later_landscape.png"> 78<link rel="apple-touch-startup-image" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/12.9__iPad_Pro_landscape.png"> 79<link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/11__iPad_Pro__10.5__iPad_Pro_landscape.png"> 80<link rel="apple-touch-startup-image" media="screen and (device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/10.9__iPad_Air_landscape.png"> 81<link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/10.5__iPad_Air_landscape.png"> 82<link rel="apple-touch-startup-image" media="screen and (device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/10.2__iPad_landscape.png"> 83<link rel="apple-touch-startup-image" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_landscape.png"> 84<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/images/splash_screens/8.3__iPad_Mini_landscape.png"> 85<link rel="apple-touch-startup-image" media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_14_Pro_Max_portrait.png"> 86<link rel="apple-touch-startup-image" media="screen and (device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_14_Pro_portrait.png"> 87<link rel="apple-touch-startup-image" media="screen and (device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_portrait.png"> 88<link rel="apple-touch-startup-image" media="screen and (device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_portrait.png"> 89<link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_portrait.png"> 90<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_11_Pro_Max__iPhone_XS_Max_portrait.png"> 91<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_11__iPhone_XR_portrait.png"> 92<link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_portrait.png"> 93<link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_portrait.png"> 94<link rel="apple-touch-startup-image" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/4__iPhone_SE__iPod_touch_5th_generation_and_later_portrait.png"> 95<link rel="apple-touch-startup-image" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/12.9__iPad_Pro_portrait.png"> 96<link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/11__iPad_Pro__10.5__iPad_Pro_portrait.png"> 97<link rel="apple-touch-startup-image" media="screen and (device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/10.9__iPad_Air_portrait.png"> 98<link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/10.5__iPad_Air_portrait.png"> 99<link rel="apple-touch-startup-image" media="screen and (device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/10.2__iPad_portrait.png"> 100<link rel="apple-touch-startup-image" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_portrait.png"> 101<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/images/splash_screens/8.3__iPad_Mini_portrait.png"> 102 103
104 <!-- Facebook Meta Tags --> 105 <meta property="og:url" content="https://linknbio.com/signin" /> 106 <meta property="og:type" content="website" /> 107 <meta property="og:title" content="Link in Bio⢠| The Official Link in Bio platform - Create Yours Free!" /> 108 <meta property="og:description" content="Create your Link in Bio Free! Add Links, Videos, Music, Email / SMS Subscription & Shops to your Instagram, TikTok, Twitter or other Social Media profiles!" /> 109 <meta property="og:image" content="https://linknbio.com/assets/images/og-image.png" /> 110 <meta property="fb:app_id" content="464146447108125" /> 111 <!-- Twitter Meta Tags --> 112 <meta name="twitter:card" content="summary_large_image"> 113 <meta property="twitter:domain" content="linknbio.com"> 114 <meta property="twitter:url" content="https://linknbio.com/signin"> 115 <meta name="twitter:title" content="Link in Bio⢠| The Official Link in Bio platform - Create Yours Free!"> 116 <meta name="twitter:description" content="Create your Link in Bio Free! Add Links, Videos, Music, Email / SMS Subscription & Shops to your Instagram, TikTok, Twitter or other Social Media profiles!"> 117 <meta name="twitter:image" content="https://linknbio.com/assets/images/og-image.png"> 118 <!-- Canonical Tags --> 119 <link rel="canonical" href="https://linknbio.com/signin" /> 120 121 122 <style type="text/css"> 123 a, button { 124 touch-action: manipulation; 125 } 126 </style> 127</head> 128<body class="p-0 theme-bg-light"> 129 <!-- Google Tag Manager (noscript) -->
vendor: 71 bytes, lines 129-130
129 130 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
130GTM-5RCV9HL
vendor: 88 bytes, lines 130-132
130" 131 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 132
132<!-- End Google Tag Manager (noscript) --> 133 134 135 136
137<script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
137 138 139<style> 140 .signin-card { 141 border-radius: 1.5rem !important; 142 border: none; 143 box-shadow: 0 10px 40px rgba(0,0,0,0.1); 144 } 145 .form-control:focus { 146 border-color: #0095f6; 147 box-shadow: 0 0 0 0.2rem rgba(0, 149, 246, 0.15); 148 } 149 .social-btn { 150 border: 1px solid #e9ecef; 151 border-radius: 0.75rem; 152 padding: 0.75rem 1rem; 153 transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease; 154 background: white; 155 } 156 .social-btn:hover { 157 border-color: #0095f6; 158 background: #f0f7ff; 159 box-shadow: 0 2px 8px rgba(0, 149, 246, 0.12); 160 } 161 .divider-text { 162 position: relative; 163 text-align: center; 164 margin: 1.5rem 0; 165 } 166 .divider-text::before { 167 content: ''; 168 position: absolute; 169 top: 50%; 170 left: 0; 171 right: 0; 172 border-top: 1px solid #e9ecef; 173 } 174 .divider-text span { 175 background: white; 176 padding: 0 1rem; 177 position: relative; 178 color: #6c757d; 179 font-size: 0.85rem; 180 } 181 .forgot-link { 182 color: #0095f6; 183 text-decoration: none; 184 font-size: 0.875rem; 185 } 186 .forgot-link:hover { 187 text-decoration: underline; 188 } 189</style> 190 191<section class="auth-section login-section text-center py-5"> 192 <div class="container"> 193 <div class="site-logo mb-4"> 194 <span class="navbar-brand me-0"> 195 <a href="/" class="conditionalAnchor"> 196 <span style="color:#000;"> 197 <i class="fa-solid fa-link-simple fa-rotate-by" style="--fa-rotate-angle: -45deg;"></i> 198<span style="font-family: unineue, sans-serif;">linkinbio</span> 199 </span> 200</a> 201 </span> 202 </div> 203 204 <div class="auth-wrapper mx-auto signin-card p-4 p-md-5" style="max-width: 420px;"> 205 <div class="text-center mb-4"> 206 <h1 class="h3 fw-bold mb-2">Welcome back</h1> 207 <p class="text-muted mb-0">Sign in to your Link in Bio</p> 208 </div> 209 210 <div class="auth-form-container text-start mx-auto"> 211 <form method="post" id="signInForm" action="/signin"> 212 <div class="text-danger mb-3 validation-summary-valid" data-valmsg-summary="true"><ul><li style="display:none"></li> 213</ul></div> 214 215 <div class="form-group mb-3"> 216 <label class="form-label fw-medium" for="Input_Email">Email address</label> 217 <input id="Input_Email" class="form-control" placeholder="[email protected]" type="email" data-val="true" data-val-email="The Email field is not a valid e-mail address." data-val-required="The Email field is required." name="Input.Email" value="" /> 218 <span class="text-danger small field-validation-valid" data-valmsg-for="Input.Email" data-valmsg-replace="true"></span> 219 </div> 220 221 <div class="form-group mb-3"> 222 <div class="d-flex justify-content-between align-items-center mb-1"> 223 <label class="form-label fw-medium mb-0" for="Input_Password">Password</label> 224 <a class="forgot-link" href="/forgot-password">Forgot password?</a> 225 </div> 226 <input id="Input_Password" class="form-control" placeholder="Enter your password" type="password" data-val="true" data-val-required="The Password field is required." name="Input.Password" /> 227 <span class="text-danger small field-validation-valid" data-valmsg-for="Input.Password" data-valmsg-replace="true"></span> 228 </div> 229 230 <button type="submit" class="btn btn-primary w-100 py-2 fw-medium mt-2" id="signInButton" style="border-radius: 0.75rem;"> 231 <span id="buttonText">Sign In</span> 232 <i class="fa-solid fa-arrow-right ms-2" id="buttonIcon"></i> 233 </button> 234 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BoDffFGPkBGv97HHEurISy9UdPEVKNDjLOo3DLp0oYGA6l-uC8SGeTWqfLNe3agunEcfNnNAfQb-oBuWYUGXqvUReXTY25Kq-oxZomMpn10Woo-LpuRLNaKoQ5YuzptTr9rr5d08Ahy-ygPHWnMD50" /></form> 235 236 <div class="conditionalContent"> 237 <div class="divider-text"> 238 <span>or continue with</span> 239 </div> 240 241 <div class="social-auth mx-auto"> 242 <div class="d-flex flex-column gap-2"> 243 <!-- Google Login --> 244 <form id="external-account" method="post" class="form-horizontal" action="/Identity/Account/ExternalLogin?returnUrl=%2Fall"> 245 <button type="button" class="btn social-btn w-100" name="provider" value="Google"> 246 <div class="d-flex align-items-center"> 247 <i class="fab fa-google" style="color:#d73d32; font-size:1.1rem; width:24px;"></i> 248 <span class="flex-grow-1 text-center provider">Continue with Google</span> 249 <span id="google-spinner" style="width:24px;"></span> 250 </div> 251 </button> 252 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BoDffFGPkBGv97HHEurISy9UdPEVKNDjLOo3DLp0oYGA6l-uC8SGeTWqfLNe3agunEcfNnNAfQb-oBuWYUGXqvUReXTY25Kq-oxZomMpn10Woo-LpuRLNaKoQ5YuzptTr9rr5d08Ahy-ygPHWnMD50" /></form> 253 254 <!-- Apple Login -->
255 <button class="btn social-btn w-100" onclick="signInWithApple()"> 256 <div class="d-flex align-items-center"> 257 <i class="fab fa-apple" style="color:#000; font-size:1.25rem; width:24px;"></i> 258 <span class="flex-grow-1 text-center">Continue with Apple</span> 259 <span id="apple-spinner" style="width:24px;"></span> 260 </div> 261 </button> 262 263 <!-- Facebook & LinkedIn Login --> 264 <form method="post" class="form-horizontal" action="/Identity/Account/ExternalLogin?returnUrl=%2Fall"> 265 <div class="d-flex gap-2"> 266 <button type="button" class="btn social-btn flex-grow-1" name="provider" value="Facebook"> 267 <div class="d-flex align-items-center justify-content-center"> 268 <i class="fab fa-facebook" style="color:#3578E5; font-size:1.1rem; width:24px;"></i> 269 <span class="provider">Facebook</span> 270 <span id="facebook-spinner" style="width:24px;"></span> 271 </div> 272 </button> 273 <button type="button" class="btn social-btn flex-grow-1" name="provider" value="LinkedIn"> 274 <div class="d-flex align-items-center justify-content-center"> 275 <i class="fa-brands fa-linkedin-in" style="color:#0a66c2; font-size:1.1rem; width:24px;"></i> 276 <span class="provider">LinkedIn</span> 277 <span id="linkedin-spinner" style="width:24px;"></span> 278 </div> 279 </button> 280 </div> 281 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BoDffFGPkBGv97HHEurISy9UdPEVKNDjLOo3DLp0oYGA6l-uC8SGeTWqfLNe3agunEcfNnNAfQb-oBuWYUGXqvUReXTY25Kq-oxZomMpn10Woo-LpuRLNaKoQ5YuzptTr9rr5d08Ahy-ygPHWnMD50" /></form> 282 </div> 283 </div> 284 </div> 285 286 <div class="text-center mt-4 pt-3" style="border-top: 1px solid #e9ecef;"> 287 Don't have an account? <a class="fw-medium text-decoration-none" href="/signup?returnUrl=%2Fall">Sign Up</a> 288 </div> 289 </div> 290 </div> 291 292 293 294 <!-- Google One Tap Script --> 295
295<script src="https://accounts.google.com/gsi/client" async defer></script>
295 296 <!-- Google One Tap Container --> 297 <div id="g_id_onload" 298 data-client_id="855298597740-mhcllvmm5fotclt2jprlc3duov9bocdp.apps.googleusercontent.com" 299 data-callback="handleGoogleOneTapResponse" 300 data-auto_prompt="true" 301 data-cancel_on_tap_outside="false" 302 data-context="signin" 303 data-ux_mode="popup" 304 data-auto_select="false" 305 data-itp_support="true"> 306 </div> 307
307<script> 308 function showOneTapOverlay() { 309 if (document.getElementById('oneTapOverlay')) return; 310 var overlay = document.createElement('div'); 311 overlay.id = 'oneTapOverlay'; 312 overlay.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.85);z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;'; 313 overlay.innerHTML = '<i class="fa-solid fa-spinner fa-spin" style="font-size:2rem;color:#0095f6;margin-bottom:1rem;"></i><div style="font-size:0.95rem;font-weight:600;color:#333;">Signing you in...</div>'; 314 document.body.appendChild(overlay); 315 } 316 317 function hideOneTapOverlay() { 318 var overlay = document.getElementById('oneTapOverlay'); 319 if (overlay) overlay.remove(); 320 } 321 322 function handleGoogleOneTapResponse(response) { 323 if (!response.credential) { 324 console.error('No credential received from Google One Tap'); 325 return; 326 } 327 328 // Show overlay immediately after Google authenticates 329 showOneTapOverlay(); 330 331 // Show loader if available 332 if (typeof window.showLoader === 'function') { 333 window.showLoader(); 334 } else if (document.getElementById('loader')) { 335 document.getElementById('loader').style.display = 'block'; 336 } 337 338 // Send the credential to the server for verification 339 fetch('/api/GoogleOneTap/verify', { 340 method: 'POST', 341 headers: { 342 'Content-Type': 'application/json', 343 'RequestVerificationToken': 'CfDJ8BoDffFGPkBGv97HHEurISy9UdPEVKNDjLOo3DLp0oYGA6l-uC8SGeTWqfLNe3agunEcfNnNAfQb-oBuWYUGXqvUReXTY25Kq-oxZomMpn10Woo-LpuRLNaKoQ5YuzptTr9rr5d08Ahy-ygPHWnMD50' 344 }, 345 body: JSON.stringify({ 346 credential: response.credential, 347 returnUrl: '/all' 348 }) 349 }) 350 .then(response => response.json()) 351 .then(data => { 352 if (data.success) { 353 console.log('Google One Tap authentication successful'); 354 355 // Redirect to the specified URL or default location 356 window.location.href = data.redirectUrl || '/all'; 357 } else { 358 console.error('Google One Tap authentication failed:', data.message); 359 360 // Hide overlay and loader 361 hideOneTapOverlay(); 362 if (typeof window.hideLoader === 'function') { 363 window.hideLoader(); 364 } else if (document.getElementById('loader')) { 365 document.getElementById('loader').style.display = 'none'; 366 } 367 368 // Optionally show error message to user 369 if (data.message) { 370 alert('Sign in failed: ' + data.message); 371 } 372 } 373 }) 374 .catch(error => { 375 console.error('Error during Google One Tap authentication:', error); 376 377 // Hide overlay and loader 378 hideOneTapOverlay(); 379 if (typeof window.hideLoader === 'function') { 380 window.hideLoader(); 381 } else if (document.getElementById('loader')) { 382 document.getElementById('loader').style.display = 'none'; 383 } 384 385 alert('An error occurred during sign in. Please try again.'); 386 }); 387 } 388 389 // Optional: Programmatically trigger One Tap prompt 390 function triggerGoogleOneTap() { 391 if (window.google && window.google.accounts && window.google.accounts.id) { 392 window.google.accounts.id.prompt(); 393 } 394 } 395 396 // Optional: Cancel One Tap prompt 397 function cancelGoogleOneTap() { 398 if (window.google && window.google.accounts && window.google.accounts.id) { 399 window.google.accounts.id.cancel(); 400 } 401 } 402 </script>
402 403 404 405 <div class="row justify-content-center mt-5 mb-5 text-start conditionalContent"> 406 <!-- iOS --> 407<div class="col-3 mt-2 me-2" style="width:10rem;"> 408 <a href="https://apps.apple.com/us/app/link-in-bio-official-platform/id6478511423" target="_blank"> 409 <div class="card shadow border-0 mb-2"> 410 <div class="card-body" style="padding:.4rem; padding-left:1rem; color:#000;"> 411 <div style="margin-right:.42rem; float:left; font-size:1.2rem;"> 412 <i class="fab fa-apple"></i> 413 </div> 414 <div style="line-height:.68rem;"> 415 <span style="font-size:.7rem;">Download on</span><br /> 416 <span style="font-size:.7rem; font-weight:600;">App Store</span> 417 </div> 418 </div> 419 </div> 420 </a> 421</div> 422<!-- Google Play --> 423<div class="col-3 mt-2 me-2" style="width:10rem;"> 424 <a href="https://play.google.com/store/apps/details?id=com.linknbio.www.twa" target="_blank"> 425 <div class="card shadow border-0 mb-2"> 426 <div class="card-body" style="padding:.4rem; padding-left:1rem; color:#000;"> 427 <div style="margin-right:.42rem; float:left; font-size:1.2rem;"> 428 <i class="fab fa-google-play"></i> 429 </div> 430 <div style="line-height:.68rem;"> 431 <span style="font-size:.7rem;">Get it on</span><br /> 432 <span style="font-size:.7rem; font-weight:600;">Google Play</span> 433 </div> 434 </div> 435 </div> 436 </a> 437</div> 438<!-- Microsoft Store --> 439<div class="col-3 mt-2 me-2" style="width:10rem;"> 440 <a href="https://www.microsoft.com/store/productid/9NTCFR5KBQW0" target="_blank"> 441 <div class="card shadow border-0 mb-2"> 442 <div class="card-body" style="padding:.4rem; padding-left:1rem; color:#000;"> 443 <div style="margin-right:.42rem; float:left; font-size:1.2rem;"> 444 <i class="fab fa-microsoft"></i> 445 </div> 446 <div style="line-height:.68rem;"> 447 <span style="font-size:.7rem;">Get it from</span><br /> 448 <span style="font-size:.7rem; font-weight:600;">Microsoft</span> 449 </div> 450 </div> 451 </div> 452 </a> 453</div> 454<!-- Add to Home Screen --> 455<div class="col-3 mt-2 me-2" style="width:10rem;"> 456 <a href="#" data-bs-toggle="modal" data-bs-target="#addToHomeScreenModal"> 457 <div class="card shadow border-0 mb-2"> 458 <div class="card-body" style="padding:.4rem; padding-left:1rem; color:#000;"> 459 <div style="margin-right:.42rem; float:left; font-size:1.2rem;"> 460 <i class="far fa-mobile"></i> 461 </div> 462 <div style="line-height:.68rem;"> 463 <span style="font-size:.7rem;">Add to</span><br /> 464 <span style="font-size:.7rem; font-weight:600;">Home Screen</span> 465 </div> 466 </div> 467 </div> 468 </a> 469</div> 470 471<style type="text/css"> 472 .modal.fade .modal-dialog { 473 transform: translate3d(0, 100vh, 0); 474 } 475 476 .modal.show .modal-dialog { 477 transform: translate3d(0, 0, 0); 478 } 479</style> 480 481<div class="modal fade" id="addToHomeScreenModal" tabindex="-1" aria-labelledby="addToHomeScreenModalLabel" aria-hidden="true"> 482 <div class="modal-dialog" style="position: fixed; inset: 0; top: auto; bottom: 0; margin: auto; margin-bottom: 0px;"> 483 <div class="modal-content" style="border-top-left-radius:1rem; border-top-right-radius:1rem; border-bottom-left-radius:0rem; border-bottom-right-radius:0rem; border:none; height:auto;"> 484 <div class="modal-header mb-3" style="padding-bottom:0px; border-bottom:none;"> 485 <h6 class="modal-title ms-1" id="addToHomeScreenModalLabel"><i class="far fa-mobile me-2" style="font-size:1.25rem;"></i> Add to Home Screen</h6> 486 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close" style="background-color:#fff; border-color:#fff; color:#ccc; border-style:none; padding-right:0;"> 487 <span aria-hidden="true"><i class="fa-solid fa-circle-xmark" style="font-size:1.5rem;"></i></span> 488 </button> 489 </div> 490 <div class="modal-body" style="padding-top:0px;"> 491 <div class="container"> 492 <div style="height:5rem;"> 493 <div class="me-4" style="float:left;"> 494 <img src="/assets/images/app-icons/icon-192.png" class="img-fluid shadow" style="height:4.5rem; width:4.5rem; border-radius:1rem;" /> 495 </div> 496 <div> 497 <span style="font-weight:500">Link in Bio: Official Platform</span><br /> 498 <span>Social</span><br /> 499 <span><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i></span> 500 </div> 501 </div> 502 <div class="mt-5" style="clear:both;"> 503 <h6><i class="fa-brands fa-apple me-2" style="font-size:1.25rem;"></i> iOS & iPadOS</h6> 504 <ol style="padding-inline-start:1.2rem;"> 505 <li><i class="fa-solid fa-arrow-up-from-bracket"></i> Tap in your browser window</li> 506 <li class="mt-2"><i class="fa-regular fa-square-plus"></i> Select Add to Home Screen</li> 507 </ol> 508 </div> 509 <div class="mt-5" style="clear:both;"> 510 <h6><i class="fa-brands fa-android me-2" style="font-size:1.25rem;"></i> Android</h6> 511 <ol style="padding-inline-start:1.2rem;"> 512 <li><i class="fa-solid fa-ellipsis-vertical"></i> Tap the menu button</li> 513 <li class="mt-2"><i class="fa-solid fa-plus"></i> Select Add to Home Screen</li> 514 </ol> 515 </div> 516 </div> 517 </div> 518 <div class="modal-footer" style="border-top:none;"> 519 </div> 520 </div> 521 </div> 522</div> 523 </div> 524 </div> 525</section> 526 527
528<script type="text/javascript"> 529 $(document).ready(function () { 530 // Handle sign-in form submission - show loading state 531 $('#signInForm').on('submit', function() { 532 $('#signInButton').prop('disabled', true); 533 $('#buttonText').text('Signing in...'); 534 $('#buttonIcon').removeClass('fa-arrow-right').addClass('fa-spinner fa-spin'); 535 // Let form submit naturally by not returning false 536 }); 537 538 // Handle external provider buttons 539 $("button[name='provider']").click(function () { 540 var button = $(this); 541 var provider = button.val(); 542 var spinnerId = provider.toLowerCase() + '-spinner'; 543 544 button.prop('disabled', true); 545 button.find('.provider').html('Signing in...'); 546 $('#' + spinnerId).html('<i class="fa-solid fa-spinner fa-spin"></i>'); 547 548 var providerInput = $('<input>') 549 .attr('type', 'hidden') 550 .attr('name', 'provider') 551 .val(provider); 552 553 $("#external-account").append(providerInput); 554 $("#external-account").submit(); 555 }); 556 }); 557 558 function signInWithApple() { 559 $('#apple-spinner').html('<i class="fa-solid fa-spinner fa-spin"></i>'); 560 const pwaAuth = document.getElementById('pwaAuth'); 561 if (pwaAuth) { 562 pwaAuth.signIn('Apple'); 563 } 564 } 565</script>
565 566
567<script src="/js/signin-apple.js"></script>
567
568<script src="/js/web-view.js"></script>
568 569 570 571 572 573 574
574<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.17.0/jquery.validate.min.js" crossorigin="anonymous" integrity="sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o+ok+t/SAKlL5mvXLr0OXNi1Hp"> 575 </script>
575
576<script>(window.jQuery && window.jQuery.validator||document.write("\u003Cscript src=\u0022/Identity/lib/jquery-validation/dist/jquery.validate.min.js\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o\u002Bok\u002Bt/SAKlL5mvXLr0OXNi1Hp\u0022\u003E\u003C/script\u003E"));</script>
576 577
577<script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.9/jquery.validate.unobtrusive.min.js" crossorigin="anonymous" integrity="sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds"> 578 </script>
578
579<script>(window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive||document.write("\u003Cscript src=\u0022/Identity/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds\u0022\u003E\u003C/script\u003E"));</script>
579 580 581 582 583</body> 584</html>
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.