mirror of
https://github.com/sstent/go-garth.git
synced 2026-03-16 10:35:21 +00:00
sync
This commit is contained in:
760
python-garth/tests/cassettes/test_login_success.yaml
Normal file
760
python-garth/tests/cassettes/test_login_success.yaml
Normal file
@@ -0,0 +1,760 @@
|
||||
interactions:
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
User-Agent:
|
||||
- Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15
|
||||
(KHTML, like Gecko) Mobile/15E148
|
||||
method: GET
|
||||
uri: https://sso.garmin.com/sso/embed?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso
|
||||
response:
|
||||
body:
|
||||
string: "<html>\n\t<head>\n\t <title>GAuth Embedded Version</title>\n\t <meta
|
||||
http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\" />\n\t <style type=\"text/css\">\n\t
|
||||
\ \t#gauth-widget {border: none !important;}\n\t </style>\n\t</head>\n\t<body>\n\t\t<script
|
||||
type=\"text/javascript\" src=\"/sso/js/jquery/3.1.1/jquery.min.js?20210319\"></script>\n\n<div>\n\t<pre>\n\t<span>ERROR:
|
||||
clientId parameter must be specified!!!</span>\n\n\t<span >Usage: https://sso.garmin.com/sso/embed?clientId=<clientId>&locale=<locale>...</span>\n\n\tRequest
|
||||
parameter configuration options:\n\n\tNAME REQ VALUES
|
||||
\ DESCRIPTION\n\t------------------
|
||||
\ --- -------------------------------------------------------
|
||||
\ ---------------------------------------------------------------------------------------------------\n\tclientId
|
||||
\ Yes \"MY_GARMIN\"/\"BUY_GARMIN\"/\"FLY_GARMIN\"/ Client
|
||||
identifier for your web application\n\t \"RMA\"/\"GarminConnect\"/\"OpenCaching\"/etc\n\tlocale
|
||||
\ Yes \"en\", \"bg\", \"cs\", \"da\", \"de\", \"es\",
|
||||
\"el\", \"fr\", \"hr\", User's current locale, to display the GAuth login
|
||||
widget internationalized properly.\n\t \"in\",
|
||||
\"it\", \"iw\", \"hu\", \"ms\", \"nb\", \"nl\", \"no\", \"pl\", (All the
|
||||
currently supported locales are listed in the Values section.)\n\t \"pt\",
|
||||
\"pt_BR\", \"ru\", \"sk\", \"sl\", \"fi\", \"sv\", \"tr\",\n\t \"uk\",
|
||||
\"th\", \"ja\", \"ko\", \"zh_TW\", \"zh\", \"vi_VN\"\n\tcssUrl No
|
||||
\ Absolute URL to custom CSS file. Use custom CSS
|
||||
styling for the GAuth login widget.\n\treauth No
|
||||
\ true/false (Default value is false) Specify true if
|
||||
you want to ensure that the GAuth login widget shows up,\n\t even
|
||||
if the SSO infrastructure remembers the user and would immediately log them
|
||||
in.\n\t This
|
||||
is useful if you know a user is logged on, but want a different user to be
|
||||
allowed to logon.\n\tinitialFocus No true/false (Default
|
||||
value is true) If you don't want the GAuth login widget
|
||||
to autofocus in it's \"Email or Username\" field upon initial loading,\n\t
|
||||
\ then
|
||||
specify this option and set it to false.\n\trememberMeShown No
|
||||
\ true/false (Default value is false) Whether the \"Remember
|
||||
Me\" check box is shown in the GAuth login widget.\n\trememberMeChecked No
|
||||
\ true/false (Default value is false) Whether the \"Remember
|
||||
Me\" check box feature is checked by default.\n\tcreateAccountShown No
|
||||
\ true/false (Default value is true) Whether the \"Don't
|
||||
have an account? Create One\" link is shown in the GAuth login widget.\n\tsocialEnabled
|
||||
\ No true/false (Default value is false) If
|
||||
set to false, do not show any social sign in elements or allow social sign
|
||||
ins.\n\tlockToEmailAddress No Email address to pre-load and
|
||||
lock. If specified, the specified email address will
|
||||
be pre-loaded in the main \"Email\" field in the SSO login form,\n\t as
|
||||
well as in in the \"Email Address\" field in the \"Forgot Password?\" password
|
||||
reset form,\n\t and
|
||||
both fields will be disabled so they can't be changed.\n\t (If
|
||||
for some reason you want to force re-authentications for a known customer
|
||||
account, you can make use of this option.)\n\topenCreateAccount No
|
||||
\ true/false (Default value is false) If set to true,
|
||||
immediately display the the account creation screen.\n\tdisplayNameShown No
|
||||
\ true/false (Default value is false) If set to true,
|
||||
show the \"Display Name\" field on the account creation screen, to allow the
|
||||
user\n\t to
|
||||
set their central MyGarmin display name upon account creation.\n\tglobalOptInShown
|
||||
\ No true/false (Default value is false) Whether
|
||||
the \"Global Opt-In\" check box is shown on the create account & create social
|
||||
account screens.\n\t If
|
||||
set to true these screens will show a \"Sign Up For Email\" check box with
|
||||
accompanying text\n\t \"I
|
||||
would also like to receive email about promotions and new products.\"\n\t
|
||||
\ If
|
||||
checked, the Customer 2.0 account that is created will have it's global opt-in
|
||||
flag set to true,\n\t and
|
||||
Garmin email communications will be allowed.\n\tglobalOptInChecked No
|
||||
\ true/false (Default value is false) Whether the \"Global
|
||||
Opt-In\" check box is checked by default.\n\tconsumeServiceTicket No
|
||||
\ true/false (Default value is true) IF you don't specify
|
||||
a redirectAfterAccountLoginUrl AND you set this to false, the GAuth login
|
||||
widget\n\t will
|
||||
NOT consume the service ticket assigned and will not seamlessly log you into
|
||||
your webapp.\n\t It
|
||||
will send a SUCCESS JavaScript event with the service ticket and service url
|
||||
you can take\n\t and
|
||||
explicitly validate against the SSO infrastructure yourself.\n\t (By
|
||||
using casClient's SingleSignOnUtils.authenticateServiceTicket() utility method,\n\t
|
||||
\ or
|
||||
calling web service customerWebServices_v1.2 AccountManagementService.authenticateServiceTicket().)\n\tmobile
|
||||
\ No true/false (Default value is false) Setting
|
||||
to true will cause mobile friendly views to be shown instead of the tradition
|
||||
screens.\n\ttermsOfUseUrl No Absolute URL to your custom
|
||||
terms of use URL. If not specified, defaults to http://www.garmin.com/terms\n\tprivacyStatementUrl
|
||||
\ No Absolute URL to your custom privacy statement URL. If
|
||||
not specified, defaults to http://www.garmin.com/privacy\n\tproductSupportUrl
|
||||
\ No Absolute URL to your custom product support URL. If
|
||||
not specified, defaults to http://www.garmin.com/us/support/contact\n\tgenerateExtraServiceTicket
|
||||
\ No true/false (Default value is false) If set
|
||||
to true, generate an extra unconsumed service ticket.\n\t\t (The
|
||||
service ticket validation response will include the extra service ticket.)\n\tgenerateTwoExtraServiceTickets
|
||||
\ No true/false (Default value is false) If set to true,
|
||||
generate two extra unconsumed service tickets.\n\t\t\t\t\t\t\t\t\t \t\t\t
|
||||
\ (The service ticket validation response will include the extra service
|
||||
tickets.)\n\tgenerateNoServiceTicket No true/false (Default value
|
||||
is false) If you don't want SSO to generate a service
|
||||
ticket at all when logging in to the GAuth login widget.\n (Useful
|
||||
when allowing logins to static sites that are not SSO enabled and can't consume
|
||||
the service ticket.)\n\tconnectLegalTerms No true/false (Default
|
||||
value is false) Whether to show the connectLegalTerms
|
||||
on the create account page\n\tshowTermsOfUse No true/false
|
||||
(Default value is false) Whether to show the showTermsOfUse
|
||||
on the create account page\n\tshowPrivacyPolicy No true/false
|
||||
(Default value is false) Whether to show the showPrivacyPolicy
|
||||
on the create account page\n\tshowConnectLegalAge No true/false
|
||||
(Default value is false) Whether to show the showConnectLegalAge
|
||||
on the create account page\n\tlocationPromptShown No true/false
|
||||
(Default value is false) If set to true, ask the customer
|
||||
during account creation to verify their country of residence.\n\tshowPassword
|
||||
\ No true/false (Default value is true) If
|
||||
set to false, mobile version for createAccount and login screens would hide
|
||||
the password\n\tuseCustomHeader No true/false (Default value
|
||||
is false) If set to true, the \"Sign in\" text will be
|
||||
replaced by custom text. Contact CDS team to set the i18n text for your client
|
||||
id.\n\tmfaRequired No true/false (Default value is false)
|
||||
\ Require multi factor authentication for all authenticating
|
||||
users.\n\tperformMFACheck No true/false (Default value is
|
||||
false) If set to true, ask the logged in user to pass
|
||||
a multi factor authentication check. (Only valid for an already logged in
|
||||
user.)\n\trememberMyBrowserShown No true/false (Default value is
|
||||
false) Whether the \"Remember My Browser\" check box
|
||||
is shown in the GAuth login widget MFA verification screen.\n\trememberMyBrowserChecked
|
||||
\ No true/false (Default value is false) Whether
|
||||
the \"Remember My Browser\" check box feature is checked by default.\n\tconsentTypeIds\t\t\t\t\tNo\tconsent_types
|
||||
ids\t\t \t\t\t\t\t\t\t\t multiple consent types ids can be passed as consentTypeIds=type1&consentTypeIds=type2\n\t</pre>\n</div>\n\n\n\t<script>(function(){var
|
||||
js = \"window['__CF$cv$params']={r:'7f1ac05c5db34620'};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/invisible.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var
|
||||
_0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position
|
||||
= 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility
|
||||
= 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi =
|
||||
_0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj =
|
||||
_0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if
|
||||
(document.readyState !== 'loading') {handler();} else if (window.addEventListener)
|
||||
{document.addEventListener('DOMContentLoaded', handler);} else {var prev =
|
||||
document.onreadystatechange || function () {};document.onreadystatechange
|
||||
= function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange
|
||||
= prev;handler();}};}})();</script></body>\n</html>\n"
|
||||
headers:
|
||||
Access-Control-Allow-Credentials:
|
||||
- 'true'
|
||||
Access-Control-Allow-Headers:
|
||||
- Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type,
|
||||
Access-Control-Request-Method, Access-Control-Request-Headers
|
||||
Access-Control-Allow-Methods:
|
||||
- GET,POST,OPTIONS
|
||||
Access-Control-Allow-Origin:
|
||||
- https://www.garmin.com
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7f1ac05c5db34620-DFW
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Language:
|
||||
- en
|
||||
Content-Type:
|
||||
- text/html;charset=UTF-8
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:58:58 GMT
|
||||
NEL:
|
||||
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
|
||||
Report-To:
|
||||
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=oT4HuH19GyKTBkqXHXwnSmUp1kcqmbthvziWIXEZLe3kQQBobYqW0Qi%2FXSjy%2B2GN5dy3Cs4ZId74RXjz6bteuof9l6R2Qsum28N4Hy0wBm4fbvYMJZUPAeRAda3mHrUW"}],"group":"cf-nel","max_age":604800}'
|
||||
Server:
|
||||
- cloudflare
|
||||
Set-Cookie:
|
||||
- org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- __cf_bm=SANITIZED; path=SANITIZED; expires=SANITIZED; domain=SANITIZED; HttpOnly;
|
||||
Secure; SameSite=SANITIZED
|
||||
- __cflb=SANITIZED; SameSite=SANITIZED; Secure; path=SANITIZED; expires=SANITIZED;
|
||||
HttpOnly
|
||||
- _cfuvid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
X-Application-Context:
|
||||
- casServer:cloud,prod,prod-US_1102:0
|
||||
X-B3-Traceid:
|
||||
- 0338524d977495f906e0c0e47bda3479
|
||||
X-Robots-Tag:
|
||||
- noindex
|
||||
X-Vcap-Request-Id:
|
||||
- 8cae38fd-8c5b-4d76-5f53-ed081975bd13
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Cookie:
|
||||
- __cf_bm=SANITIZED; _cfuvid=SANITIZED; __cflb=SANITIZED; org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=SANITIZED
|
||||
User-Agent:
|
||||
- Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15
|
||||
(KHTML, like Gecko) Mobile/15E148
|
||||
referer:
|
||||
- https://sso.garmin.com/sso/embed?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso
|
||||
method: GET
|
||||
uri: https://sso.garmin.com/sso/signin?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&service=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&source=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountLoginUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountCreationUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed
|
||||
response:
|
||||
body:
|
||||
string: "<!DOCTYPE html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n <meta
|
||||
http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <meta
|
||||
name=\"viewport\" content=\"width=device-width\" />\n <meta http-equiv=\"X-UA-Compatible\"
|
||||
content=\"IE=edge;\" />\n <title>GARMIN Authentication Application</title>\n
|
||||
\ <link href=\"/sso/css/GAuth.css?20210406\" rel=\"stylesheet\" type=\"text/css\"
|
||||
media=\"all\" />\n\n\t <link rel=\"stylesheet\" href=\"\"/>\n\n <script
|
||||
type=\"text/javascript\" src=\"/sso/js/jquery/3.1.1/jquery.min.js?20210319\"></script>\n
|
||||
\ <script type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script
|
||||
type=\"text/javascript\" src=\"/sso/js/jquery-validate/1.16.0/jquery.validate.min.js?20210319\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/jsUtils.js?20210406\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/json2.js\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/popupWindow.js\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/base.js?20210406\"></script>\n\t\t<script
|
||||
type=\"text/javascript\" src=\"/sso/js/gigyaUtils.js?20210319\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/login.js?20211102\"></script>\n
|
||||
\ <script type=\"text/javascript\" src=\"/sso/js/reCaptchaUtil.js?20230706\"></script>\n\n
|
||||
\ <script>\n var recaptchaSiteKey = null;\n var
|
||||
reCaptchaURL = \"\\\\\\/sso\\\\\\/reCaptcha?id=gauth-widget\\u0026embedWidget=true\\u0026gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\\u0026service=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\\u0026source=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\\u0026redirectAfterAccountLoginUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\\u0026redirectAfterAccountCreationUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\";\n
|
||||
\ var isRecaptchaEnabled = null;\n var recaptchaToken
|
||||
= null; \n </script>\n <script type=\"text/javascript\">\n
|
||||
\ var parent_url = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n
|
||||
\ var status \t\t\t= \"\";\n\t\t\tvar result = \"\";\n\t\t\tvar
|
||||
clientId\t\t= '';\n\t\t\tvar embedWidget \t= true;\n\t\t\tvar isUsernameDefined
|
||||
= (false == true) || (false == true);\n\n // Gigya callback to
|
||||
SocialSignInController for brand new social network users redirects to this
|
||||
page\n // to popup Create or Link Social Account page, but has
|
||||
a possibly mangled source parameter\n // where \"?\" is set as
|
||||
\"<QM>\", so translate it back to \"?\" here.\n parent_url = parent_url.replace('<QM>',
|
||||
'?');\n var parent_scheme = parent_url.substring(0, parent_url.indexOf(\"://\"));\n
|
||||
\ var parent_hostname = parent_url.substring(parent_scheme.length
|
||||
+ 3, parent_url.length);\n if (parent_hostname.indexOf(\"/\") !=
|
||||
-1) {\n parent_hostname = parent_hostname.substring(0, parent_hostname.indexOf(\"/\"));\n
|
||||
\ }\n var parentHost \t = parent_scheme + \"://\"
|
||||
+ parent_hostname;\n\t\t\tvar createAccountConfigURL = '\\/sso\\/createNewAccount?id%3Dgauth-widget%26embedWidget%3Dtrue%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26service%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26source%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed';\n
|
||||
\ var socialConfigURL = 'https://sso.garmin.com/sso/socialSignIn?id%3Dgauth-widget%26embedWidget%3Dtrue%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26service%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26source%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed';\n
|
||||
\ var gigyaURL = \"https://cdns.gigya.com/js/gigya.js?apiKey=2_R3ZGY8Bqlwwk3_63knoD9wA_m-Y19mAgW61bF_s5k9gymYnMEAtMrJiF5MjF-U7B\";\n\n
|
||||
\ if (createAccountConfigURL.indexOf('%253A%252F%252F') != -1) {\n
|
||||
\ \tcreateAccountConfigURL = decodeURIComponent(createAccountConfigURL);\n
|
||||
\ }\n consoleInfo('signin.html embedWidget: true, createAccountConfigURL:
|
||||
\\/sso\\/createNewAccount?id%3Dgauth-widget%26embedWidget%3Dtrue%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26service%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26source%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%252Fembed,
|
||||
socialEnabled: true, gigyaSupported: true, socialConfigURL(): https://sso.garmin.com/sso/socialSignIn?id%3Dgauth-widget%26embedWidget%3Dtrue%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26service%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26source%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed');\n\n
|
||||
\ if (socialConfigURL.indexOf('%3A%2F%2F') != -1) {\n \tsocialConfigURL
|
||||
= decodeURIComponent(socialConfigURL);\n }\n\n if( status
|
||||
!= null && status != ''){\n \tsend({'status':status});\n }\n\n
|
||||
\ jQuery(document).ready( function(){\n\n\n consoleInfo(\"signin.html:
|
||||
setting field validation rules...\");\n\n jQuery(\"#username\").rules(\"add\",{\n
|
||||
\ required: true,\n messages: {\n required:
|
||||
\ \"Email is required.\"\n }});\n\n jQuery(\"#password\").rules(\"add\",
|
||||
{\n required: true,\n messages: {\n
|
||||
\ required: \"Password is required.\"\n }\n
|
||||
\ });\n\n consoleInfo(\"signin.html: done setting
|
||||
field validation rules...\");\n\n });\n\n XD.receiveMessage(function(m){\n
|
||||
\ consoleInfo(\"signin.html: \" + m.data + \" received on \"
|
||||
+ window.location.host);\n if (m && m.data) {\n var
|
||||
md = m.data;\n if (typeof(md) === 'string') {\n md
|
||||
= JSON.parse(m.data);\n }\n if (md.setUsername)
|
||||
{\n consoleInfo(\"signin.html: Setting username \\\"\"
|
||||
+ md.username + \"\\\"...\");\n jQuery(\"#signInWithDiffLink\").click();
|
||||
// Ensure the normal login form is shown.\n jQuery(\"#username\").val(md.username);\n
|
||||
\ jQuery(\"#password\").focus();\n }\n
|
||||
\ }\n }, parentHost);\n </script>\n </head>\n
|
||||
\ <body>\n\n <!-- begin GAuth component -->\n <div id=\"GAuth-component\">\n
|
||||
\ <!-- begin login component-->\n <div id=\"login-component\"
|
||||
class=\"blueForm-basic\">\n <input type=\"hidden\" id=\"queryString\"
|
||||
value=\"id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&service=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&source=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountLoginUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountCreationUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed\"
|
||||
/>\n\t \t <input type=\"hidden\" id=\"contextPath\" value=\"/sso\" />\n
|
||||
\ <!-- begin login form -->\n <div id=\"login-state-default\">\n
|
||||
\ <h2>Sign In</h2>\n\n <form method=\"post\"
|
||||
id=\"login-form\">\n\n <div class=\"form-alert\">\n\t\t\t\t\t\t\t\n
|
||||
\ \n \n \n
|
||||
\ \n \n \n\n
|
||||
\ <div id=\"username-error\" style=\"display:none;\"></div>\n
|
||||
\ <div id=\"password-error\" style=\"display:none;\"></div>\n
|
||||
\ </div>\n <div class=\"textfield\">\n\t\t\t\t\t\t\t<label
|
||||
for=\"username\">Email</label>\n \t\t<!-- If the
|
||||
lockToEmailAddress parameter is specified then we want to mark the field as
|
||||
readonly,\n \t\tpreload the email address, and disable
|
||||
the other input so that null isn't sent to the server. We'll\n \t\talso
|
||||
style the field to have a darker grey background and disable the mouse pointer\n
|
||||
\ \t\t -->\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t<!--
|
||||
If the lockToEmailAddress parameter is NOT specified then keep the existing
|
||||
functionality and disable the readonly input field\n\t\t\t\t\t\t\t -->\n\t\t\t\t\t\t\t
|
||||
\ <input class=\"login_email\" name=\"username\" id=\"username\" value=\"\"
|
||||
type=\"email\" spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\"/>\n\n
|
||||
\ </div>\n\n <div class=\"textfield\">\n
|
||||
\ <label for=\"password\">Password</label>\n <a
|
||||
id=\"loginforgotpassword\" class=\"login-forgot-password\" style=\"cursor:pointer\">(Forgot?)</a>\n
|
||||
\ <input type=\"password\" name=\"password\" id=\"password\"
|
||||
spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\" />\n <strong
|
||||
id=\"capslock-warning\" class=\"information\" title=\"Caps lock is on.\" style=\"display:
|
||||
none;\">Caps lock is on.</strong>\n\t\t\t\t\t </div>\n <input
|
||||
type=\"hidden\" name=\"embed\" value=\"true\"/>\n <input
|
||||
type=\"hidden\" name=\"_csrf\" value=\"13F3CDCE9481A2AA198AB31BDC20A8483C5FAAAC4C9BFA97A27733E25331ECCA20D8E912E7DBB994EC0F43F2E5E018326534\"
|
||||
/>\n <button type=\"submit\" id=\"login-btn-signin\"
|
||||
class=\"btn1\" accesskey=\"l\">Sign In</button>\n \n\n\n
|
||||
\ <!-- The existence of the \"rememberme\" parameter
|
||||
at all will remember the user! -->\n \n\n </form>\n
|
||||
\ </div>\n <!-- end login form -->\n\n <!--
|
||||
begin Create Account message -->\n\t <div id=\"login-create-account\">\n\t
|
||||
\ \n\t </div>\n\t <!-- end Create Account
|
||||
message -->\n\n\t <!-- begin Social Sign In component -->\n\t <div
|
||||
id=\"SSI-component\">\n \n\n\t\t\t\t\t\n\t </div>\n\t
|
||||
\ <!-- end Social Sign In component -->\n <div class=\"clearfix\"></div>
|
||||
<!-- Ensure that GAuth-component div's height is computed correctly. -->\n
|
||||
\ </div>\n <!-- end login component-->\n\n\t\t</div>\n\t\t<!--
|
||||
end GAuth component -->\n\n <script type=\"text/javascript\">\n jQuery(document).ready(function(){\n
|
||||
\ \tresizePageOnLoad(jQuery(\"#GAuth-component\").height());\n\n\t\t
|
||||
\ if(isUsernameDefined == true){\n\t\t // If the user's login
|
||||
just failed, redisplay the email/username specified, and focus them in the
|
||||
password field.\n\t\t jQuery(\"#password\").focus();\n\t\t }
|
||||
else if(false == true && result != \"PASSWORD_RESET_RESULT\"){\n //
|
||||
Otherwise focus them in the username field of the login dialog.\n jQuery(\"#username\").focus();\n
|
||||
\ }\n\n // Scroll to top of iframe to fix problem
|
||||
where Firefox 3.0-3.6 browsers initially show top of iframe cutoff.\n location.href=\"#\";\n\n
|
||||
\ if(!embedWidget){\n \tjQuery('.createAccountLink').click(function(){\n\t
|
||||
\ send({'openLiteBox':'createAccountLink', 'popupUrl': createAccountConfigURL,
|
||||
'popupTitle':'Create An Account', 'clientId':clientId});\n\t });\n
|
||||
\ }\n });\n </script>\n <script>(function(){var
|
||||
js = \"window['__CF$cv$params']={r:'7f1ac05e69e44796'};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/invisible.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var
|
||||
_0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position
|
||||
= 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility
|
||||
= 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi =
|
||||
_0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj =
|
||||
_0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if
|
||||
(document.readyState !== 'loading') {handler();} else if (window.addEventListener)
|
||||
{document.addEventListener('DOMContentLoaded', handler);} else {var prev =
|
||||
document.onreadystatechange || function () {};document.onreadystatechange
|
||||
= function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange
|
||||
= prev;handler();}};}})();</script></body>\n</html>\n"
|
||||
headers:
|
||||
Access-Control-Allow-Credentials:
|
||||
- 'true'
|
||||
Access-Control-Allow-Headers:
|
||||
- Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type,
|
||||
Access-Control-Request-Method, Access-Control-Request-Headers
|
||||
Access-Control-Allow-Methods:
|
||||
- GET,POST,OPTIONS
|
||||
Access-Control-Allow-Origin:
|
||||
- https://www.garmin.com
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-Ray:
|
||||
- 7f1ac05e69e44796-DFW
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Language:
|
||||
- en
|
||||
Content-Type:
|
||||
- text/html;charset=UTF-8
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:58:58 GMT
|
||||
NEL:
|
||||
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
|
||||
Report-To:
|
||||
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Rzl0HOKLCsW3P9JRr3RwN81d8PqMActtbSq4Dr6hqeIxBIK%2FkzLeLOMRn0KALChfJIB4cSgh1DszqkKVz6dxdWoBV7jsY4WstuGcTqyiAIeGTgRqmxgjXdR2B4Q65HZU"}],"group":"cf-nel","max_age":604800}'
|
||||
Server:
|
||||
- cloudflare
|
||||
Set-Cookie:
|
||||
- org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- SESSION=SANITIZED; Path=SANITIZED; Secure; HttpOnly
|
||||
- __VCAP_ID__=SANITIZED; Path=SANITIZED; HttpOnly; Secure
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
Vary:
|
||||
- Accept-Encoding
|
||||
X-Application-Context:
|
||||
- casServer:cloud,prod,prod-US_1102:3
|
||||
X-B3-Traceid:
|
||||
- 60593e96725f1a2f5e057d199d84874b
|
||||
X-Robots-Tag:
|
||||
- noindex
|
||||
X-Vcap-Request-Id:
|
||||
- 9799eaf1-bdf2-420f-52ab-755533296a5f
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: username=SANITIZED&password=SANITIZED&embed=true&_csrf=13F3CDCE9481A2AA198AB31BDC20A8483C5FAAAC4C9BFA97A27733E25331ECCA20D8E912E7DBB994EC0F43F2E5E018326534
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '175'
|
||||
Content-Type:
|
||||
- application/x-www-form-urlencoded
|
||||
Cookie:
|
||||
- SESSION=SANITIZED; __cf_bm=SANITIZED; _cfuvid=SANITIZED; __VCAP_ID__=SANITIZED;
|
||||
__cflb=SANITIZED; org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=SANITIZED
|
||||
User-Agent:
|
||||
- Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15
|
||||
(KHTML, like Gecko) Mobile/15E148
|
||||
referer:
|
||||
- https://sso.garmin.com/sso/signin?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&service=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&source=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountLoginUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountCreationUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed
|
||||
method: POST
|
||||
uri: https://sso.garmin.com/sso/signin?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&service=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&source=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountLoginUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed&redirectAfterAccountCreationUrl=https%3A%2F%2Fsso.garmin.com%2Fsso%2Fembed
|
||||
response:
|
||||
body:
|
||||
string: "<!DOCTYPE html>\n<html class=\"no-js\">\n\t<head>\n\t\t<title>Success</title>\n\t\t<meta
|
||||
charset=\"utf-8\">\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\"
|
||||
/>\n\t\t<meta name=\"description\" content=\"\">\n\t\t<meta name=\"viewport\"
|
||||
content=\"width=device-width, initial-scale=1\">\n\t\t<meta http-equiv=\"cleartype\"
|
||||
content=\"on\">\n\t\t<script type=\"text/javascript\" src=\"/sso/js/jquery/3.1.1/jquery.min.js?20210319\"></script>\n\t\t<script
|
||||
type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script type=\"text/javascript\"
|
||||
src=\"/sso/js/json2.js\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n\t\t<script
|
||||
type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n\t\t<script
|
||||
type=\"text/javascript\">\n\t\t\tvar redirectAfterAccountLoginUrl \t = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n\t\t\tvar
|
||||
redirectAfterAccountCreationUrl = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n\t\t\tvar
|
||||
consumeServiceTicket \t = \"true\";\n\t\t\tvar service_url \t
|
||||
\ = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n\t\t\tvar parent_url \t
|
||||
\ = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n\t\t\tvar response_url
|
||||
\ \t = \"https:\\/\\/sso.garmin.com\\/sso\\/embed?ticket=ST-2459533-YeWiOAMHdTmHqEyWcWeI-cas\";\n\t\t\tvar
|
||||
logintoken \t = \"\";\n\t\t\tvar socialLogin \t
|
||||
\ = \"\";\n\t\t\tvar performMFACheck = \"\";\n\n\t\t\t// Decode
|
||||
url if it's encoded unnecessarily (which is happening when SSO GAuth logins
|
||||
redisplay the login page due to session timeouts.)\n\t\t\tif (response_url.indexOf('%3A%2F%2F')
|
||||
!= -1) {\n\t\t\t\tresponse_url = decodeURIComponent(response_url);\n\t\t\t}\n\t\t\tresponse_url
|
||||
= response_url.replace(new RegExp(\"&\", 'g'),\"&\");\n\n\t\t\tvar service_ticket
|
||||
= response_url.substring(response_url.indexOf('ticket=') + 7, response_url.length);\n\n\t\t\tif
|
||||
(redirectAfterAccountLoginUrl) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
redirectAfterAccountLoginUrl: [' + redirectAfterAccountLoginUrl + ']');\n\t\t\t}\n\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
consumeServiceTicket: [' + consumeServiceTicket + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
service_url: [' + service_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
parent_url: [' + parent_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
response_url: [' + response_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
service_ticket: [' + service_ticket + ']');\n\t\t\tif (logintoken)
|
||||
{\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: logintoken: ['
|
||||
+ logintoken + ']');\n\t\t\t}\n\t\t\tif (socialLogin) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
socialLogin: [' + socialLogin + ']');\n\t\t\t}\n\n\t\t\tfunction
|
||||
send(msg) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: send(): Calling XD.postMessage(msg:['
|
||||
+ JSON.stringify(msg) + '], target_url:[' + parent_url + '])...');\n\t\t\t\tXD.postMessage(msg,
|
||||
parent_url, parent);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tfunction redirect(target){\n\t\t\t\tvar
|
||||
embedWidget = \"true\";\n\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\tif
|
||||
(logintoken || socialLogin) {\n\t\t\t\t\t\t// Tell parent to close opened
|
||||
Gauth lite box.\n\t\t\t\t\t\tsend({'closeLiteBox':'1'});\n\t\t\t\t\t} else
|
||||
{\n\t\t\t\t\t\t// Tell parent to resize Gauth widget's height to just that
|
||||
of the loading icon.\n\t\t\t\t\t\tsend({'gauthHeight':jQuery(\"#GAuth-component\").height()});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif
|
||||
(window.opener != null) {\n\t\t\t\t\tvar iframeParent = window.opener.parent;\n\t\t\t\t\tiframeParent.location.href
|
||||
= target;\n\t\t\t\t\twindow.close();\n\t\t\t\t} else {\n\t\t\t\t\t// If the
|
||||
\"redirectAfterAccountLoginUrl\" GAuth config parameter was specified,\n\t\t\t\t\t//
|
||||
a full page refresh upon logon was requested, so redirect the parent window
|
||||
upon login.\n\t\t\t\t\tif (redirectAfterAccountLoginUrl || redirectAfterAccountCreationUrl
|
||||
|| (socialLogin && socialLogin === 'true') || (performMFACheck && performMFACheck
|
||||
=== 'true')) {\n\n\t\t\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\t\t\tsend({'status':'SUCCESS',
|
||||
'successDetails':'Login Successful'});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Redirect
|
||||
parent of login iframe to requested service URL with ?ST=<Service Ticket ID>
|
||||
appended,\n\t\t\t\t\t\t// so the webapp can validate the service ticket and
|
||||
log the user on to the webapp.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
Calling parent.location.href = [' + response_url + '];...');\n\t\t\t\t\t\ttop.location.href
|
||||
= response_url;\n\n\t\t\t\t\t// Else if GAuth was configured not to consume
|
||||
the service ticket, send the service ticket and service url.\n\t\t\t\t\t//
|
||||
It's then up to the parent page to hide the GAuth widget and validate the
|
||||
service ticket.\n\t\t\t\t\t} else if (consumeServiceTicket == 'false') {\n\n\t\t\t\t\t\tsend({'status':'SUCCESS',
|
||||
'successDetails':'Login Successful', 'serviceTicket':service_ticket, 'serviceUrl':service_url});\n\n\t\t\t\t\t}
|
||||
else {\n\t\t\t\t\t\t// Else consume the service ticket and log the user into
|
||||
the parent webapp, by making a JSONP request to the response url.\n\t\t\t\t\t\t//
|
||||
This service ticket request to the parent webapp will return a small amount
|
||||
of JSON that we\n\t\t\t\t\t\t// can send in the success event to the parent
|
||||
page to notify them of successful logon\n\t\t\t\t\t\t// It's then up to the
|
||||
parent page to hide the GAuth widget and do whatever it wants.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
Loading ajax jsonp URL: [' + response_url + ']');\n\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\ttype:
|
||||
\"REDIRECT\",\n\t\t\t\t\t\t\turl: response_url,\n\t\t\t\t\t\t\tdataType: 'jsonp',\n\t\t\t\t\t\t\terror:
|
||||
function(xhr, status, error) {\n\t\t\t\t\t\t\t\tconsoleError('casEmbedSuccess.html:
|
||||
Error loading ajax jsonp URL: [' + response_url + ']! Error: ' + error);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess:
|
||||
function( data, status, xhr ) {\n\t\t\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html:
|
||||
success loading ajax jsonp url. data: [' + data + ']');\n\t\t\t\t\t\t\t\tvar
|
||||
userdata = data;\n\t\t\t\t\t\t\t\tif (typeof(userdata) === 'string') {\n\t\t\t\t\t\t\t\t\tuserdata
|
||||
= JSON.parse(data);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconsoleInfo('casGenericRedirect.jsp:
|
||||
customerId: [' + userdata.customerId\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], username: [' + userdata.username\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], rememberMe: [' + userdata.rememberMe\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], password: [' + userdata.password\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], email: [' + userdata.email\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], displayName: [' + userdata.displayName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], firstName: [' + userdata.firstName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], lastName: [' + userdata.lastName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], localePreference: [' + userdata.localePreference\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], addressLine1: [' + userdata.addressLine1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], addressLine2: [' + userdata.addressLine2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], cityName: [' + userdata.cityName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], state: [' + userdata.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], postalCode: [' + userdata.postalCode\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], country: [' + userdata.country\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], passwordChangeRequired: [' + userdata.passwordChangeRequired\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], lastLogin: [' + userdata.lastLogin\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
'], erpCustomerNumber: [' + userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+
|
||||
']');\n\t\t\t\t\t\t\t\tsend({'status' : 'SUCCESS',\n\t\t\t\t\t\t\t\t\t\t\t'successDetails'
|
||||
\ : 'Login Successful',\n\t\t\t\t\t\t\t\t\t\t\t'customerId' :
|
||||
userdata.customerId,\n\t\t\t\t\t\t\t\t\t\t\t'username' : userdata.username,\n\t\t\t\t\t\t\t\t\t\t\t'rememberMe'
|
||||
\ : userdata.rememberMe,\n\t\t\t\t\t\t\t\t\t\t\t'password' :
|
||||
userdata.password,\n\t\t\t\t\t\t\t\t\t\t\t'email' : userdata.email,\n\t\t\t\t\t\t\t\t\t\t\t'displayName'
|
||||
\ : userdata.displayName,\n\t\t\t\t\t\t\t\t\t\t\t'firstName' :
|
||||
userdata.firstName,\n\t\t\t\t\t\t\t\t\t\t\t'lastName' : userdata.lastName,\n\t\t\t\t\t\t\t\t\t\t\t'localePreference'
|
||||
\ : userdata.localePreference,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine1'
|
||||
\ : userdata.addressLine1,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine2'
|
||||
\ : userdata.addressLine2,\n\t\t\t\t\t\t\t\t\t\t\t'cityName' :
|
||||
userdata.cityName,\n\t\t\t\t\t\t\t\t\t\t\t'state' : userdata.state,\n\t\t\t\t\t\t\t\t\t\t\t'postalCode'
|
||||
\ : userdata.postalCode,\n\t\t\t\t\t\t\t\t\t\t\t'country' :
|
||||
userdata.country,\n\t\t\t\t\t\t\t\t\t\t\t'passwordChangeRequired' : userdata.passwordChangeRequired,\n\t\t\t\t\t\t\t\t\t\t\t'lastLogin'
|
||||
\ : userdata.lastLogin,\n\t\t\t\t\t\t\t\t\t\t\t'erpCustomerNumber'
|
||||
\ : userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t</script>\n\t</head>\n\t<body>\n\t\t<div
|
||||
id=\"GAuth-component\">\n\t\t\t<img src='/sso/images/ajax-loader.gif' class=\"loaderImage\"/>\n\t\t</div>\n\t\t<script
|
||||
type=\"text/javascript\">\n\t\t\tjQuery(document).ready(function(){\n\t\t\t\tvar
|
||||
service = \"https:\\/\\/sso.garmin.com\\/sso\\/embed\";\n\t\t\t\tconsoleInfo(\"casEmbedSuccess.html:
|
||||
ready, calling redirect('\" + service + \"')...\");\n\t\t\t\tredirect(service);\n\t\t\t});\n\t\t</script>\n\t<script>(function(){var
|
||||
js = \"window['__CF$cv$params']={r:'7f1ac060fe1846d4'};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/invisible.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var
|
||||
_0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position
|
||||
= 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility
|
||||
= 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi =
|
||||
_0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj =
|
||||
_0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if
|
||||
(document.readyState !== 'loading') {handler();} else if (window.addEventListener)
|
||||
{document.addEventListener('DOMContentLoaded', handler);} else {var prev =
|
||||
document.onreadystatechange || function () {};document.onreadystatechange
|
||||
= function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange
|
||||
= prev;handler();}};}})();</script></body>\n</html>\n"
|
||||
headers:
|
||||
Access-Control-Allow-Credentials:
|
||||
- 'true'
|
||||
Access-Control-Allow-Headers:
|
||||
- Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type,
|
||||
Access-Control-Request-Method, Access-Control-Request-Headers
|
||||
Access-Control-Allow-Methods:
|
||||
- GET,POST,OPTIONS
|
||||
Access-Control-Allow-Origin:
|
||||
- https://www.garmin.com
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-Ray:
|
||||
- 7f1ac060fe1846d4-DFW
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Language:
|
||||
- en
|
||||
Content-Type:
|
||||
- text/html;charset=UTF-8
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:58:59 GMT
|
||||
NEL:
|
||||
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
|
||||
Report-To:
|
||||
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=G8f1H9875FHi4mMW3X7aS9aND4jZAZnlBDAVr3KGz1hFmtUrVwqS3KipwKZMkQ40Rq4vjHtTGn22Fm5%2Bg7VA0XNSbcb3q8f%2BK%2FI0nzh0GsR2fGk%2FH0S4yBe7bsMOwol%2F"}],"group":"cf-nel","max_age":604800}'
|
||||
Server:
|
||||
- cloudflare
|
||||
Set-Cookie:
|
||||
- org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- CASTGC=SANITIZED; Path=SANITIZED; Secure; HttpOnly
|
||||
- CASTGC=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Path=SANITIZED; Secure;
|
||||
HttpOnly
|
||||
- GARMIN-SSO=SANITIZED; Domain=SANITIZED; Path=SANITIZED
|
||||
- GARMIN-SSO=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- GarminNoCache=SANITIZED; Domain=SANITIZED; Path=SANITIZED
|
||||
- GarminNoCache=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- GarminBuyCacheKey=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- GarminBuyCacheKey=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- GARMIN-SSO-GUID=SANITIZED; Domain=SANITIZED; Path=SANITIZED
|
||||
- GARMIN-SSO-GUID=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- GARMIN-SSO-CUST-GUID=SANITIZED; Domain=SANITIZED; Path=SANITIZED
|
||||
- GARMIN-SSO-CUST-GUID=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Domain=SANITIZED;
|
||||
Path=SANITIZED
|
||||
- CASTGC=SANITIZED; Path=SANITIZED; Secure; HttpOnly
|
||||
- CASTGC=SANITIZED; Max-Age=SANITIZED; Expires=SANITIZED; Path=SANITIZED; Secure;
|
||||
HttpOnly
|
||||
- __cfruid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
Vary:
|
||||
- Accept-Encoding
|
||||
X-Application-Context:
|
||||
- casServer:cloud,prod,prod-US_1102:3
|
||||
X-B3-Traceid:
|
||||
- 67d13140bb74241f5ffafc30cb590ae9
|
||||
X-Robots-Tag:
|
||||
- noindex
|
||||
X-Vcap-Request-Id:
|
||||
- bb5f25d2-31ab-4879-5100-1898910361aa
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
User-Agent:
|
||||
- python-requests/2.31.0
|
||||
method: GET
|
||||
uri: https://thegarth.s3.amazonaws.com/oauth_consumer.json
|
||||
response:
|
||||
body:
|
||||
string: '{"consumer_key": "SANITIZED", "consumer_secret": "SANITIZED"}'
|
||||
headers:
|
||||
Accept-Ranges:
|
||||
- bytes
|
||||
Content-Length:
|
||||
- '124'
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:59:00 GMT
|
||||
ETag:
|
||||
- '"20240b1013cb35419bb5b2cff1407a4e"'
|
||||
Last-Modified:
|
||||
- Thu, 03 Aug 2023 00:16:11 GMT
|
||||
Server:
|
||||
- AmazonS3
|
||||
x-amz-id-2:
|
||||
- MSQpXzot1gVYwlRRZFwqhhl2CaWvGVUOa87bLyZb9cWDw/4XeFMn4LLslomjV8xnr5ejXOTDRjM=
|
||||
x-amz-request-id:
|
||||
- DK3CF9X2YV7R386H
|
||||
x-amz-server-side-encryption:
|
||||
- AES256
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept:
|
||||
- !!binary |
|
||||
Ki8q
|
||||
Accept-Encoding:
|
||||
- !!binary |
|
||||
Z3ppcCwgZGVmbGF0ZQ==
|
||||
Authorization:
|
||||
- Bearer SANITIZED
|
||||
Connection:
|
||||
- !!binary |
|
||||
a2VlcC1hbGl2ZQ==
|
||||
User-Agent:
|
||||
- !!binary |
|
||||
Y29tLmdhcm1pbi5hbmRyb2lkLmFwcHMuY29ubmVjdG1vYmlsZQ==
|
||||
method: GET
|
||||
uri: https://connectapi.garmin.com/oauth-service/oauth/preauthorized?ticket=ST-2459533-YeWiOAMHdTmHqEyWcWeI-cas&login-url=https://sso.garmin.com/sso/embed&accepts-mfa-tokens=true
|
||||
response:
|
||||
body:
|
||||
string: oauth_token=SANITIZED&oauth_token_secret=SANITIZED
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7f1ac06849351556-QRO
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Type:
|
||||
- text/plain;charset=utf-8
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:59:00 GMT
|
||||
NEL:
|
||||
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
|
||||
Report-To:
|
||||
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=3MpWsX37CvkXmKc8KOczSqUhotPJCTd8xg30IHeNtiLn%2BgRHZ1OLmUEmEzCFRFA7bLdNQMtPMOWGkA4XmepxRdPww%2F92hfzoqcwW3lwmrqWWp9BAJtSvRfdnAfH%2F43eEBK5yLU%2F8CQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
|
||||
Server:
|
||||
- cloudflare
|
||||
Set-Cookie:
|
||||
- _cfuvid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
alt-svc:
|
||||
- h3=":443"; ma=86400
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: ''
|
||||
headers:
|
||||
Accept:
|
||||
- !!binary |
|
||||
Ki8q
|
||||
Accept-Encoding:
|
||||
- !!binary |
|
||||
Z3ppcCwgZGVmbGF0ZQ==
|
||||
Authorization:
|
||||
- Bearer SANITIZED
|
||||
Connection:
|
||||
- !!binary |
|
||||
a2VlcC1hbGl2ZQ==
|
||||
Content-Length:
|
||||
- !!binary |
|
||||
MA==
|
||||
Content-Type:
|
||||
- !!binary |
|
||||
YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk
|
||||
User-Agent:
|
||||
- !!binary |
|
||||
Y29tLmdhcm1pbi5hbmRyb2lkLmFwcHMuY29ubmVjdG1vYmlsZQ==
|
||||
method: POST
|
||||
uri: https://connectapi.garmin.com/oauth-service/oauth/exchange/user/2.0
|
||||
response:
|
||||
body:
|
||||
string: '{"scope": "COMMUNITY_COURSE_READ GARMINPAY_WRITE GOLF_API_READ ATP_READ
|
||||
GHS_SAMD GHS_UPLOAD INSIGHTS_READ COMMUNITY_COURSE_WRITE CONNECT_WRITE GCOFFER_WRITE
|
||||
GARMINPAY_READ DT_CLIENT_ANALYTICS_WRITE GOLF_API_WRITE INSIGHTS_WRITE PRODUCT_SEARCH_READ
|
||||
GCOFFER_READ CONNECT_READ ATP_WRITE", "jti": "SANITIZED", "access_token":
|
||||
"SANITIZED", "token_type": "Bearer", "refresh_token": "SANITIZED", "expires_in":
|
||||
102003, "refresh_token_expires_in": 2591999}'
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7f1ac06b2ea41547-QRO
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Fri, 04 Aug 2023 23:59:00 GMT
|
||||
NEL:
|
||||
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
|
||||
Report-To:
|
||||
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=NNCYZLaC3FVERa7klmexZY7Kh3hgtxeCrxhI99bSdoSg4HYUBlJtp%2FgVylwDlkFrU%2B0S5Ufb69lEQjC583RGLoO6U8PZFyHu1Bopl%2B%2BXq0QwIoOs36XBwicE1xqC7%2B7IWFi7pOAhKw%3D%3D"}],"group":"cf-nel","max_age":604800}'
|
||||
Server:
|
||||
- cloudflare
|
||||
Set-Cookie:
|
||||
- _cfuvid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
alt-svc:
|
||||
- h3=":443"; ma=86400
|
||||
cache-control:
|
||||
- no-cache, no-store, private
|
||||
pragma:
|
||||
- no-cache
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
version: 1
|
||||
Reference in New Issue
Block a user