Skip to content

Instantly share code, notes, and snippets.

@ericchiang
Created January 15, 2016 19:26
Show Gist options
  • Save ericchiang/38bffbc7b389f52df543 to your computer and use it in GitHub Desktop.
Save ericchiang/38bffbc7b389f52df543 to your computer and use it in GitHub Desktop.
Worker information
hostname: travis-worker-gce-org-prod-5:a5540ec0-3a77-4a84-b8ca-af7d3c8ffe37
version: v2.0.0-24-g8f5b41a https://github.com/travis-ci/worker/tree/8f5b41a07b602643e7ee8cf307787f9ca8f4b00b
instance: testing-gce-ac0634aa-6675-44ad-bf7a-3a400c844b6a:travis-ci-mega-trusty-1445287562
startup: 21.818375482s
Build system information
Build language: go
Build group: stable
Build dist: trusty
Build image provisioning date and time
Mon Oct 19 21:23:19 UTC 2015
Operating System Details
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Linux Version
3.19.0-28-generic
Cookbooks Version
fffffff https://github.com/travis-ci/travis-cookbooks/tree/fffffff
Git version
git version 1.9.1
GCC version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
LLVM version
clang version 3.5.0 (tags/RELEASE_350/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Pre-installed Ruby versions
jruby-9.0.1.0
ruby-1.9.3-p551
ruby-2.0.0-p647
ruby-2.1.7
ruby-2.2.3
Pre-installed Node.js versions
iojs-v1.6
iojs-v1.6.4
v0.10
v0.10.40
v0.11.16
v0.12.2
v0.12.7
v0.6.21
v0.8.28
v4.1.2
Pre-installed Go versions
1.0.3
1.1.2
1.2.2
1.3.3
1.4.2
1.5.1
mysql --version
mysql Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) using readline 6.3
Pre-installed PostgreSQL versions
9.1.19
9.2.14
9.3.10
9.4.5
Redis version
redis-server 3.0.5
RabbitMQ Version
3.5.4
Installed Sphinx versions
2.0.10
2.1.9
2.2.8
Default Sphinx version
2.2.8
Installed Firefox version
firefox 31.6.0esr
ant -version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn -version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 15:22:22+0000)
Maven home: /usr/local/maven
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-28-generic", arch: "amd64", family: "unix"
gradle -version
------------------------------------------------------------
Gradle 2.7
------------------------------------------------------------
Build time: 2015-09-14 07:26:16 UTC
Build number: none
Revision: c41505168da69fb0650f4e31c9e01b50ffc97893
Groovy: 2.3.10
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.8.0_60 (Oracle Corporation 25.60-b23)
OS: Linux 3.19.0-28-generic amd64
lein version
Downloading Leiningen to /home/travis/.lein/self-installs/home/travis/.lein/leiningen-2.5.1-standalone.jar now...
Leiningen 2.5.1 on Java 1.8.0_60 Java HotSpot(TM) 64-Bit Server VM
phpenv versions
* system (set by /home/travis/.phpenv/version)
$ git clone --depth=50 https://github.com/coreos/dex.git coreos/dex
Cloning into 'coreos/dex'...
remote: Counting objects: 1730, done.
remote: Compressing objects: 100% (1145/1145), done.
remote: Total 1730 (delta 649), reused 1562 (delta 523), pack-reused 0
Receiving objects: 100% (1730/1730), 1.12 MiB | 0 bytes/s, done.
Resolving deltas: 100% (649/649), done.
Checking connectivity... done.
$ cd coreos/dex
$ git fetch origin +refs/pull/271/merge:
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 3), reused 2 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
From https://github.com/coreos/dex
* branch refs/pull/271/merge -> FETCH_HEAD
$ git checkout -qf FETCH_HEAD
$ sudo service docker start
start: Job is already running: docker
Setting environment variables from .travis.yml
$ export DEX_TEST_DSN="postgres://[email protected]:15432/postgres?sslmode=disable"
$ export ISOLATED=true
$ eval "$(gimme 1.4.3)"
go version go1.4.3 linux/amd64
$ export GOPATH=$HOME/gopath
$ export PATH=$HOME/gopath/bin:$PATH
$ mkdir -p $HOME/gopath/src/github.com/coreos/dex
$ rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/coreos/dex/
$ export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/coreos/dex
$ cd $HOME/gopath/src/github.com/coreos/dex
$ gimme version
v0.2.3
$ go version
go version go1.4.3 linux/amd64
$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/travis/gopath"
GORACE=""
GOROOT="/home/travis/.gimme/versions/go1.4.3.linux.amd64"
GOTOOLDIR="/home/travis/.gimme/versions/go1.4.3.linux.amd64/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
$ go get golang.org/x/tools/cmd/cover
$ go get golang.org/x/tools/cmd/vet
$ docker pull quay.io/coreos/postgres
Using default tag: latest
Pulling repository quay.io/coreos/postgres
Status: Downloaded newer image for quay.io/coreos/postgres:latest
$ docker run -d -p 127.0.0.1:15432:5432 quay.io/coreos/postgres
355150cc6337963163eee6c243235802fa51ded1299103ba2ba52223c78de1ca
The command "docker run -d -p 127.0.0.1:15432:5432 quay.io/coreos/postgres" exited with 0.
$ ./test
Running tests...
ok github.com/coreos/dex/connector 0.011s coverage: 22.7% of statements
ok github.com/coreos/dex/db 0.059s coverage: 6.4% of statements
ok github.com/coreos/dex/integration 5.156s coverage: 0.0% of statements
ok github.com/coreos/dex/pkg/crypto 0.008s coverage: 75.7% of statements
ok github.com/coreos/dex/pkg/flag 0.011s coverage: 97.5% of statements
ok github.com/coreos/dex/pkg/http 0.005s coverage: 72.1% of statements
ok github.com/coreos/dex/pkg/net 0.003s coverage: 71.4% of statements
ok github.com/coreos/dex/pkg/time 0.011s coverage: 100.0% of statements
ok github.com/coreos/dex/pkg/html 0.005s coverage: 78.9% of statements
ok github.com/coreos/dex/functional/repo 14.485s coverage: 60.0% of statements
INFO: Authenticated token for client ID valid-client
ERROR: Failed to verify JWT claims: 'iss' claim does not match expected issuer, iss=
ERROR: Failed to extract token from request: missing Authorization header
ERROR: Failed to parse JWT from token: malformed JWS, only 1 segments
ERROR: No keys available for verification in client token middleware
ERROR: Misconfigured clientTokenMiddleware, ClientIdentityRepo is not set
ERROR: Failed to find clientID: valid-client, error=no data found
ERROR: Failed to find clientID: DOESNT-EXIST, error=no data found
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
From: [email protected]
Subject: Please verify your email address.
To: [email protected]
Body(text): Hello!
Please verify that your email is [email protected] by clicking here:
http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjEyZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoiRW1haWwtMUBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTJlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiSUQtMSJ9.Mc0qXxVnYLVog1jl7QNV3M9INeK_J2td-XNWKs8C8TCrIaQA2FLU4rLpSqGpdVRMWz9s9c0oj39BeMoL05xgGhrlRdvq5BcW4nc6lUbpBEP2E5i9hZOYkwLDz4wCxfC7A_Qb2DbP81LJpDgZbjLzR4sRUZv8heZMjleJghJkojWvxZUhbyEGyPTjMiTw_z1Pi6v7vH8AGLSWSKXbTUkkhYlZ1BqQ7dAF94LUM2GPvGOt-uZfA-_it9_iGv8feLgtpU4o7MDiV6PgXo2FHdqssQuRiXCOZsxwk24edGEyE2q-Yn7dWO8PgCGuIuAuyo3X6IR5bjeSjiyUPgJH5xXTbg
Body(html): <html>
<body>
Hello!
<br/>
Please verify that your email is [email protected] by clicking here:
<br/>
<br/>
<a href="http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjEyZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoiRW1haWwtMUBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTJlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiSUQtMSJ9.Mc0qXxVnYLVog1jl7QNV3M9INeK_J2td-XNWKs8C8TCrIaQA2FLU4rLpSqGpdVRMWz9s9c0oj39BeMoL05xgGhrlRdvq5BcW4nc6lUbpBEP2E5i9hZOYkwLDz4wCxfC7A_Qb2DbP81LJpDgZbjLzR4sRUZv8heZMjleJghJkojWvxZUhbyEGyPTjMiTw_z1Pi6v7vH8AGLSWSKXbTUkkhYlZ1BqQ7dAF94LUM2GPvGOt-uZfA-_it9_iGv8feLgtpU4o7MDiV6PgXo2FHdqssQuRiXCOZsxwk24edGEyE2q-Yn7dWO8PgCGuIuAuyo3X6IR5bjeSjiyUPgJH5xXTbg">Click here to verify!</a>
</body>
</html>
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: User's email already verified
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Failed to Verify JWT: oidc: JWT claims invalid: token is expired
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: No such client: no data found
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Failed to extract sub claim from JWT: err:%!q(<nil>) ok:true
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Failed to find user specified by token: user not found in repository
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: No redirect URL: <nil>
INFO: Session 6TpErqjee_M= created: clientID=XXX clientState=
INFO: Session f42vXp7KFC8= created: clientID=XXX clientState=
ERROR: Request provided unregistered redirect URL: http://unrecognized.example.com/callback
ERROR: Failed fetching client "YYY" from repo: no data found
ERROR: unexpected ResponseType: token:
ERROR: Invalid auth request: missing 'openid' in 'scope'
INFO: Session n5_vFHXm6NA= created: clientID=XXX clientState=
INFO: Session sPybJkhgx8E= created: clientID=XXX clientState=
ERROR: Request provided unregistered redirect URL: http://unrecognized.example.com/callback
ERROR: Request must provide redirect URL as client "XXX" has registered many
ERROR: error parsing basic auth
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
ERROR: Error getting user: "user not found in repository"
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
ERROR: error exchanging key: unrecognized key
ERROR: could not exchange sessionKey: unrecognized key
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
ERROR: Invalid redirectURL for clientID: redirectURL:"http://evilhackers.example.com", clientID:"XXX"
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
ERROR: Invalid redirectURL for clientID: redirectURL:"http://evilhackers.example.com", clientID:"XXX"
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Reset Password unverifiable token: oidc: unable to verify JWT signature: no matching keys
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Reset Password unverifiable token: oidc: unable to verify JWT signature: no matching keys
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Reset Password unverifiable token: no aud(client ID) claim
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
ERROR: Reset Password unverifiable token: no aud(client ID) claim
--- FAIL: TestResetPasswordHandler-2 (1.13s)
password_test.go:567: case 0: Compare(wantFormValues, got) = {
password: [
"",
],
token: [
- "eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyODg3NjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vcGFzc3dvcmQvb2xkLWhhc2giOiJwYXNzd29yZCIsImh0dHA6Ly9jb3Jlb3MuY29tL3Bhc3N3b3JkL3Jlc2V0LWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiSUQtMSJ9.gKjJKJ6urdvI4md93btv5Nt3TUX6rEAboqPmTWVeyF2F_9ipmq2W87ortJLyRebQ1zndU3tq4Iud_lyn8e4W7EDTRYgMKWstoFyTKYyzhdnOHUL85Fsx8NvT8QinCj9RMTna2W1ovhJe2oqpjIN6J4GQWh3Bg2D6mDHnxowd2oHexVhSddMqqGjAzUBKB2jUpodzx2TjUka5JS94G9UXcH9fkayZSRe5A-2LxxIEo8WrXbyAOxvzjkxwVQIEcG9OnjKnpz1wWpQ1BptaY08gHDzQ8vRvB19y59zp4tNp2bzq6pRCntK0065g0QQoxK9W_pbQlWO4K7Xf2iBrJKzDSg",
+ "eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyODg3NjE0ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vcGFzc3dvcmQvb2xkLWhhc2giOiJwYXNzd29yZCIsImh0dHA6Ly9jb3Jlb3MuY29tL3Bhc3N3b3JkL3Jlc2V0LWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImlhdCI6MS40NTI4ODQwMTRlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiSUQtMSJ9.ceaP7Bdq1ZxzpIR3Vx-Robl6pF7NeL3thYzykS54G8q_BOHHl67FheF6xJXyIaF_WD3TYVNv2lQwF8HF2rW01x-8v9oiZikMo4v8fKyURxQ-UUg5-kQIX5oB6LbBl4kE2vFtxOBUzKcTdX2FpqXfrdZ7A2-Hz2-skWUyJq7CnoEzEoTpdCAfzU0PazhtYRlF9loHYSnhWa5lIOgbvDWapANYJb216Q6jXuu9OjlgZ0D5l4Zhwr4CrrsdjN-wD4GIPPSZz5koXUv76VhCKxh4FjdRPOfY8Z9VhK--D3cV7tXvfMWp0hI5tJRV--EyTateNsB0Q8pvv0kb3ha8Spkqwg",
],
}
password_test.go:568: case 0: Body: <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>dex</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
background-color: #efefef;
font-family: 'Source Sans Pro', Helvetica, sans-serif;
color: #333;
}
a {
color: #428BCA;
text-decoration: none;
}
a:active, a:hover, a:visited {
color: #2A6596;
text-decoration: underline;
}
#navbar {
background-color: #fff;
color: #333;
height: 46px;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
font-size: 13px;
font-weight: 100;
overflow: hidden;
padding: 0 10px;
}
#navbar-logo-wrap {
width: 300px;
height: 100%;
display: inline-block;
overflow: hidden;
padding: 10px 15px;
}
#navbar-logo {
height: 100%;
max-height: 25px;
}
#container {
margin: 45px auto;
text-align: center;
max-width: 500px;
min-width: 320px;
}
.heading {
font-size: 20px;
font-weight: 500;
margin-top: 0;
margin-bottom: 10px;
}
.footer {
margin: 30px;
}
.input-label-right {
position: absolute;
right: 0;
bottom: 0;
}
.input-desc {
width: 250px;
margin: 4px auto;
text-align: left;
position: relative;
}
.subtle-text {
color: #999;
font-size: 12px;
}
.panel {
background-color: #fff;
padding: 30px;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
}
.explain {
font-size: 13px;
color: #666;
}
.btn {
box-shadow: inset 0 1px 0px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.25), 0 0px 1px rgba(0, 0, 0, 0.25);
padding: 0;
font-size: 14px;
border-radius: 4px;
border: none;
cursor: pointer;
font-size: 16px;
}
.btn:focus {
outline: none;
}
.btn:active {
outline: none;
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-primary {
color: #fff;
background-color: #333;
padding: 6px 12px;
min-width: 200px;
border: none;
}
.btn-primary:hover {
background-color: #666;
color: #fff;
}
.btn-provider {
background-color: #fff;
color: #333;
width: 250px;
}
.btn-provider:hover {
color: #999;
}
.btn-icon {
width: 36px;
height: 36px;
float: left;
margin-right: 5px;
background-repeat: no-repeat;
background-position: center;
background-size: 24px;
}
.btn-icon-google {
background-color: #DB4437;
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM2cHgiIGhlaWdodD0iMzdweCIgdmlld0JveD0iMCAwIDM2IDM3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMy4zLjIgKDEyMDQzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZSArIGcrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzLjg0OTMxNTA3JSIgeTE9IjM0LjQ3MzI2MiUiIHgyPSI5Mi4yODU0Nzk1JSIgeTI9IjcwLjIyMzI2MiUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzNFMjcyMyIgc3RvcC1vcGFjaXR5PSIwLjIiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzNFMjcyMyIgc3RvcC1vcGFjaXR5PSIwLjAyIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+CiAgICAgICAgPGcgaWQ9IkEuMS1WZXJpZnktRW1haWwtU2NyZWVuX2xvZ2luLSIgc2tldGNoOnR5cGU9Ik1TQXJ0Ym9hcmRHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQwNy4wMDAwMDAsIC0yNzIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJTaGFwZS0rLWcrIiBza2V0Y2g6dHlwZT0iTVNMYXllckdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MDcuMDAwMDAwLCAyNzIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUuOTYzOTg4MSwxNS4zMjM2OTA1IEwxOC43OTIzMjE0LDAuNzUyMDIzODEgTDEwLjc1Nzk3NjIsMC43NTIwMjM4MSBDNS4xNDQ5NDA0OCwwLjc1MjAyMzgxIDIuMzkzNDUyMzgsNC4xNjM4NjkwNSAyLjM5MzQ1MjM4LDguMDE1OTUyMzggQzIuMzkzNDUyMzgsMTAuOTg3NTU5NSA0LjgxNDc2MTksMTQuMjg5MzQ1MiA4Ljg4Njk2NDI5LDE0LjI4OTM0NTIgTDkuODc3NSwxNC4yODkzNDUyIEM5LjY1NzM4MDk1LDE0LjYxOTUyMzggOS41NDczMjE0MywxNS4yNzk4ODEgOS41NDczMjE0MywxNS43MjAxMTkgQzkuNTQ3MzIxNDMsMTYuODIwNzE0MyA5Ljk4NzU1OTUyLDE3LjM3MTAxMTkgMTAuNjQ3OTE2NywxOC4wMzEzNjkgQzguODg2OTY0MjksMTguMTQxNDI4NiA1LjU4NTE3ODU3LDE4LjQ3MTYwNzEgMy4xNjM4NjkwNSwyMC4wMTI0NDA1IEMwLjg1MjYxOTA0OCwyMS4zMzMxNTQ4IDAuMTkyMjYxOTA1LDIzLjMxNDIyNjIgMC4xOTIyNjE5MDUsMjQuNzQ1IEMwLjE5MjI2MTkwNSwyNS45NTU2NTQ4IDAuNjMyNSwyNy4wNTYyNSAxLjYyMzAzNTcxLDI4LjA0Njc4NTcgTDE1LjQ5MDUzNTcsMzYuOTE0Mjg1NyBMMzUuOTYzOTg4MSwzNi45MTQyODU3IEwzNS45NjM5ODgxLDE1LjMyMzY5MDUgWiIgaWQ9IlNoYXBlIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8ZyBpZD0iZysiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMTkyMjYyLCAxLjE5MjI2MikiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOC42MDAwNTk1LC0wLjExMDA1OTUyNCBMMTguNjAwMDU5NSwtMC40NDAyMzgwOTUgTDEwLjU2NTcxNDMsLTAuMTEwMDU5NTI0IEM0Ljk1MjY3ODU3LC0wLjExMDA1OTUyNCAyLjIwMTE5MDQ4LDMuMzAxNzg1NzEgMi4yMDExOTA0OCw3LjE1Mzg2OTA1IEMyLjIwMTE5MDQ4LDEwLjEyNTQ3NjIgNC42MjI1LDEzLjQyNzI2MTkgOC42OTQ3MDIzOCwxMy40MjcyNjE5IEw5LjY4NTIzODEsMTMuNDI3MjYxOSBDOS40NjUxMTkwNSwxMy43NTc0NDA1IDkuMzU1MDU5NTIsMTQuNDE3Nzk3NiA5LjM1NTA1OTUyLDE0Ljk2ODA5NTIgQzkuMzU1MDU5NTIsMTYuMDY4NjkwNSA5Ljc5NTI5NzYyLDE2LjYxODk4ODEgMTAuNDU1NjU0OCwxNy4yNzkzNDUyIEM4LjY5NDcwMjM4LDE3LjM4OTQwNDggNS4zOTI5MTY2NywxNy43MTk1ODMzIDIuOTcxNjA3MTQsMTkuMjYwNDE2NyBDMC42NjAzNTcxNDMsMjAuNTgxMTMxIDAsMjIuNTYyMjAyNCAwLDIzLjk5Mjk3NjIgQzAsMjYuODU0NTIzOCAyLjc1MTQ4ODEsMjkuNDk1OTUyNCA4LjM2NDUyMzgxLDI5LjQ5NTk1MjQgQzE1LjA3ODE1NDgsMjkuNDk1OTUyNCAxOC42MDAwNTk1LDI1Ljg2Mzk4ODEgMTguNjAwMDU5NSwyMi4yMzIwMjM4IEMxOC42MDAwNTk1LDE5LjQ4MDUzNTcgMTcuMDU5MjI2MiwxOC4xNTk4MjE0IDE1LjI5ODI3MzgsMTYuNzI5MDQ3NiBMMTMuODY3NSwxNS42Mjg0NTI0IEMxMy40MjcyNjE5LDE1LjI5ODI3MzggMTIuOTg3MDIzOCwxNC44NTgwMzU3IDEyLjk4NzAyMzgsMTMuOTc3NTU5NSBDMTIuOTg3MDIzOCwxMy4wOTcwODMzIDEzLjUzNzMyMTQsMTIuNDM2NzI2MiAxNC4wODc2MTksMTIuMTA2NTQ3NiBDMTUuNzM4NTExOSwxMC43ODU4MzMzIDE3LjM4OTQwNDgsOS40NjUxMTkwNSAxNy4zODk0MDQ4LDYuNDkzNTExOSBDMTcuMzg5NDA0OCwzLjc0MjAyMzgxIDE1LjczODUxMTksMi4zMTEyNSAxNC43NDc5NzYyLDEuNTQwODMzMzMgTDE2Ljk0OTE2NjcsMS41NDA4MzMzMyBMMTguNjAwMDU5NSwtMC4xMTAwNTk1MjQgTDE4LjYwMDA1OTUsLTAuMTEwMDU5NTI0IFogTTE2LjA2ODY5MDUsMjMuNjYyNzk3NiBDMTYuMDY4NjkwNSwyNS44NjM5ODgxIDE0LjA4NzYxOSwyNy44NDUwNTk1IDEwLjM0NTU5NTIsMjcuODQ1MDU5NSBDNi4xNjMzMzMzMywyNy44NDUwNTk1IDMuNTIxOTA0NzYsMjUuNzUzOTI4NiAzLjUyMTkwNDc2LDIzLjExMjUgQzMuNTIxOTA0NzYsMjAuMzYxMDExOSA2LjA1MzI3MzgxLDE5LjM3MDQ3NjIgNi44MjM2OTA0OCwxOS4wNDAyOTc2IEM4LjQ3NDU4MzMzLDE4LjQ5IDEwLjU2NTcxNDMsMTguMzc5OTQwNSAxMC44OTU4OTI5LDE4LjM3OTk0MDUgTDExLjc3NjM2OSwxOC4zNzk5NDA1IEMxNC43NDc5NzYyLDIwLjU4MTEzMSAxNi4wNjg2OTA1LDIxLjY4MTcyNjIgMTYuMDY4NjkwNSwyMy42NjI3OTc2IEwxNi4wNjg2OTA1LDIzLjY2Mjc5NzYgWiBNMTAuNTY1NzE0MywxMi4xMDY1NDc2IEM3LjI2MzkyODU3LDEyLjEwNjU0NzYgNS41MDI5NzYxOSw4LjI1NDQ2NDI5IDUuNTAyOTc2MTksNS4yODI4NTcxNCBDNS41MDI5NzYxOSwyLjUzMTM2OTA1IDcuMjYzOTI4NTcsMS4yMTA2NTQ3NiA5LjEzNDk0MDQ4LDEuMjEwNjU0NzYgQzEyLjY1Njg0NTIsMS4yMTA2NTQ3NiAxNC40MTc3OTc2LDUuNjEzMDM1NzEgMTQuNDE3Nzk3Niw4LjI1NDQ2NDI5IEMxNC4zMDc3MzgxLDExLjQ0NjE5MDUgMTEuNTU2MjUsMTIuMTA2NTQ3NiAxMC41NjU3MTQzLDEyLjEwNjU0NzYgTDEwLjU2NTcxNDMsMTIuMTA2NTQ3NiBaIE0yNi40MTQyODU3LDEyLjk4NzAyMzggTDI2LjQxNDI4NTcsOC4wMzQzNDUyNCBMMjQuNzYzMzkyOSw4LjAzNDM0NTI0IEwyNC43NjMzOTI5LDEyLjk4NzAyMzggTDE5LjgxMDcxNDMsMTIuOTg3MDIzOCBMMTkuODEwNzE0MywxNC42Mzc5MTY3IEwyNC43NjMzOTI5LDE0LjYzNzkxNjcgTDI0Ljc2MzM5MjksMTkuNTkwNTk1MiBMMjYuNDE0Mjg1NywxOS41OTA1OTUyIEwyNi40MTQyODU3LDE0LjYzNzkxNjcgTDMxLjM2Njk2NDMsMTQuNjM3OTE2NyBMMzEuMzY2OTY0MywxMi45ODcwMjM4IEwyNi40MTQyODU3LDEyLjk4NzAyMzggTDI2LjQxNDI4NTcsMTIuOTg3MDIzOCBaIiBpZD0iU2hhcGUiIG9wYWNpdHk9IjAuMTYiIGZpbGw9IiMzRTI3MjMiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNjAwMDU5NSwtMC40NDAyMzgwOTUgTDEwLjU2NTcxNDMsLTAuNDQwMjM4MDk1IEM0Ljk1MjY3ODU3LC0wLjQ0MDIzODA5NSAyLjIwMTE5MDQ4LDIuOTcxNjA3MTQgMi4yMDExOTA0OCw2LjgyMzY5MDQ4IEMyLjIwMTE5MDQ4LDkuNzk1Mjk3NjIgNC42MjI1LDEzLjA5NzA4MzMgOC42OTQ3MDIzOCwxMy4wOTcwODMzIEw5LjY4NTIzODEsMTMuMDk3MDgzMyBDOS40NjUxMTkwNSwxMy40MjcyNjE5IDkuMzU1MDU5NTIsMTQuMDg3NjE5IDkuMzU1MDU5NTIsMTQuNTI3ODU3MSBDOS4zNTUwNTk1MiwxNS42Mjg0NTI0IDkuNzk1Mjk3NjIsMTYuMTc4NzUgMTAuNDU1NjU0OCwxNi44MzkxMDcxIEM4LjY5NDcwMjM4LDE2Ljk0OTE2NjcgNS4zOTI5MTY2NywxNy4yNzkzNDUyIDIuOTcxNjA3MTQsMTguODIwMTc4NiBDMC42NjAzNTcxNDMsMjAuMTQwODkyOSAwLDIyLjEyMTk2NDMgMCwyMy41NTI3MzgxIEMwLDI2LjQxNDI4NTcgMi43NTE0ODgxLDI5LjA1NTcxNDMgOC4zNjQ1MjM4MSwyOS4wNTU3MTQzIEMxNS4wNzgxNTQ4LDI5LjA1NTcxNDMgMTguNjAwMDU5NSwyNS40MjM3NSAxOC42MDAwNTk1LDIxLjc5MTc4NTcgQzE4LjYwMDA1OTUsMTkuMDQwMjk3NiAxNy4wNTkyMjYyLDE3LjcxOTU4MzMgMTUuMjk4MjczOCwxNi4yODg4MDk1IEwxMy44Njc1LDE1LjE4ODIxNDMgQzEzLjQyNzI2MTksMTQuODU4MDM1NyAxMi45ODcwMjM4LDE0LjQxNzc5NzYgMTIuOTg3MDIzOCwxMy41MzczMjE0IEMxMi45ODcwMjM4LDEyLjY1Njg0NTIgMTMuNTM3MzIxNCwxMS45OTY0ODgxIDE0LjA4NzYxOSwxMS42NjYzMDk1IEMxNS43Mzg1MTE5LDEwLjM0NTU5NTIgMTcuMzg5NDA0OCw5LjAyNDg4MDk1IDE3LjM4OTQwNDgsNi4wNTMyNzM4MSBDMTcuMzg5NDA0OCwzLjMwMTc4NTcxIDE1LjczODUxMTksMS44NzEwMTE5IDE0Ljc0Nzk3NjIsMS4xMDA1OTUyNCBMMTYuOTQ5MTY2NywxLjEwMDU5NTI0IEwxOC42MDAwNTk1LC0wLjQ0MDIzODA5NSBMMTguNjAwMDU5NSwtMC40NDAyMzgwOTUgWiBNMTYuMDY4NjkwNSwyMy4zMzI2MTkgQzE2LjA2ODY5MDUsMjUuNTMzODA5NSAxNC4wODc2MTksMjcuNTE0ODgxIDEwLjM0NTU5NTIsMjcuNTE0ODgxIEM2LjE2MzMzMzMzLDI3LjUxNDg4MSAzLjUyMTkwNDc2LDI1LjQyMzc1IDMuNTIxOTA0NzYsMjIuNzgyMzIxNCBDMy41MjE5MDQ3NiwyMC4wMzA4MzMzIDYuMDUzMjczODEsMTkuMDQwMjk3NiA2LjgyMzY5MDQ4LDE4LjcxMDExOSBDOC40NzQ1ODMzMywxOC4xNTk4MjE0IDEwLjU2NTcxNDMsMTguMDQ5NzYxOSAxMC44OTU4OTI5LDE4LjA0OTc2MTkgTDExLjc3NjM2OSwxOC4wNDk3NjE5IEMxNC43NDc5NzYyLDIwLjI1MDk1MjQgMTYuMDY4NjkwNSwyMS4zNTE1NDc2IDE2LjA2ODY5MDUsMjMuMzMyNjE5IEwxNi4wNjg2OTA1LDIzLjMzMjYxOSBaIE0xMC41NjU3MTQzLDExLjg4NjQyODYgQzcuMjYzOTI4NTcsMTEuODg2NDI4NiA1LjUwMjk3NjE5LDguMDM0MzQ1MjQgNS41MDI5NzYxOSw1LjA2MjczODEgQzUuNTAyOTc2MTksMi4zMTEyNSA3LjI2MzkyODU3LDAuOTkwNTM1NzE0IDkuMTM0OTQwNDgsMC45OTA1MzU3MTQgQzEyLjY1Njg0NTIsMC45OTA1MzU3MTQgMTQuNDE3Nzk3Niw1LjM5MjkxNjY3IDE0LjQxNzc5NzYsOC4wMzQzNDUyNCBDMTQuMzA3NzM4MSwxMS4yMjYwNzE0IDExLjU1NjI1LDExLjg4NjQyODYgMTAuNTY1NzE0MywxMS44ODY0Mjg2IEwxMC41NjU3MTQzLDExLjg4NjQyODYgWiBNMjYuNDE0Mjg1NywxMi42NTY4NDUyIEwyNi40MTQyODU3LDcuNzA0MTY2NjcgTDI0Ljc2MzM5MjksNy43MDQxNjY2NyBMMjQuNzYzMzkyOSwxMi42NTY4NDUyIEwxOS44MTA3MTQzLDEyLjY1Njg0NTIgTDE5LjgxMDcxNDMsMTQuMzA3NzM4MSBMMjQuNzYzMzkyOSwxNC4zMDc3MzgxIEwyNC43NjMzOTI5LDE5LjI2MDQxNjcgTDI2LjQxNDI4NTcsMTkuMjYwNDE2NyBMMjYuNDE0Mjg1NywxNC4zMDc3MzgxIEwzMS4zNjY5NjQzLDE0LjMwNzczODEgTDMxLjM2Njk2NDMsMTIuNjU2ODQ1MiBMMjYuNDE0Mjg1NywxMi42NTY4NDUyIEwyNi40MTQyODU3LDEyLjY1Njg0NTIgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRjFGMUYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuNzk1Mjk3NjIsMTMuMzE3MjAyNCBMOS43OTUyOTc2MiwxMy4wOTcwODMzIEM5LjU3NTE3ODU3LDEzLjQyNzI2MTkgOS40NjUxMTkwNSwxNC4wODc2MTkgOS40NjUxMTkwNSwxNC41Mjc4NTcxIEw5LjQ2NTExOTA1LDE0LjYzNzkxNjcgQzkuNDY1MTE5MDUsMTQuMTk3Njc4NiA5LjU3NTE3ODU3LDEzLjY0NzM4MSA5Ljc5NTI5NzYyLDEzLjMxNzIwMjQgTDkuNzk1Mjk3NjIsMTMuMzE3MjAyNCBaIE0xMC40NTU2NTQ4LDE2Ljk0OTE2NjcgQzguNjk0NzAyMzgsMTcuMDU5MjI2MiA1LjM5MjkxNjY3LDE3LjM4OTQwNDggMi45NzE2MDcxNCwxOC45MzAyMzgxIEMwLjY2MDM1NzE0MywyMC4yNTA5NTI0IDAsMjIuMjMyMDIzOCAwLDIzLjY2Mjc5NzYgTDAsMjMuNzcyODU3MSBDMC4xMTAwNTk1MjQsMjIuMzQyMDgzMyAwLjc3MDQxNjY2NywyMC40NzEwNzE0IDIuOTcxNjA3MTQsMTkuMTUwMzU3MSBDNS4zOTI5MTY2NywxNy43MTk1ODMzIDguNjk0NzAyMzgsMTcuMjc5MzQ1MiAxMC40NTU2NTQ4LDE3LjE2OTI4NTcgTDEwLjQ1NTY1NDgsMTYuOTQ5MTY2NyBMMTAuNDU1NjU0OCwxNi45NDkxNjY3IFogTTEwLjM0NTU5NTIsMjcuNTE0ODgxIEM2LjI3MzM5Mjg2LDI3LjUxNDg4MSAzLjYzMTk2NDI5LDI1LjUzMzgwOTUgMy41MjE5MDQ3NiwyMi44OTIzODEgTDMuNTIxOTA0NzYsMjMuMDAyNDQwNSBDMy41MjE5MDQ3NiwyNS42NDM4NjkgNi4xNjMzMzMzMywyNy43MzUgMTAuMzQ1NTk1MiwyNy43MzUgQzE0LjA4NzYxOSwyNy43MzUgMTYuMDY4NjkwNSwyNS43NTM5Mjg2IDE2LjA2ODY5MDUsMjMuNTUyNzM4MSBMMTYuMDY4NjkwNSwyMy40NDI2Nzg2IEMxNS45NTg2MzEsMjUuNjQzODY5IDEzLjk3NzU1OTUsMjcuNTE0ODgxIDEwLjM0NTU5NTIsMjcuNTE0ODgxIEwxMC4zNDU1OTUyLDI3LjUxNDg4MSBaIE0xNC4zMDc3MzgxLDguMjU0NDY0MjkgTDE0LjMwNzczODEsOC4xNDQ0MDQ3NiBDMTQuMTk3Njc4NiwxMS4zMzYxMzEgMTEuNTU2MjUsMTEuODg2NDI4NiAxMC40NTU2NTQ4LDExLjg4NjQyODYgQzcuMjYzOTI4NTcsMTEuODg2NDI4NiA1LjM5MjkxNjY3LDguMTQ0NDA0NzYgNS4zOTI5MTY2Nyw1LjE3Mjc5NzYyIEw1LjM5MjkxNjY3LDUuMjgyODU3MTQgQzUuMzkyOTE2NjcsOC4yNTQ0NjQyOSA3LjE1Mzg2OTA1LDEyLjEwNjU0NzYgMTAuNDU1NjU0OCwxMi4xMDY1NDc2IEMxMS41NTYyNSwxMi4xMDY1NDc2IDE0LjMwNzczODEsMTEuNDQ2MTkwNSAxNC4zMDc3MzgxLDguMjU0NDY0MjkgTDE0LjMwNzczODEsOC4yNTQ0NjQyOSBaIE0xNS40MDgzMzMzLDE2LjI4ODgwOTUgTDEzLjk3NzU1OTUsMTUuMTg4MjE0MyBDMTMuNTM3MzIxNCwxNC44NTgwMzU3IDEzLjIwNzE0MjksMTQuNDE3Nzk3NiAxMy4wOTcwODMzLDEzLjY0NzM4MSBMMTMuMDk3MDgzMywxMy43NTc0NDA1IEMxMy4wOTcwODMzLDE0LjYzNzkxNjcgMTMuNTM3MzIxNCwxNS4wNzgxNTQ4IDEzLjk3NzU1OTUsMTUuNDA4MzMzMyBMMTUuNDA4MzMzMywxNi41MDg5Mjg2IEMxNy4wNTkyMjYyLDE3LjkzOTcwMjQgMTguNjAwMDU5NSwxOS4yNjA0MTY3IDE4LjcxMDExOSwyMS43OTE3ODU3IEwxOC43MTAxMTksMjEuNjgxNzI2MiBDMTguNjAwMDU5NSwxOS4wNDAyOTc2IDE3LjA1OTIyNjIsMTcuODI5NjQyOSAxNS40MDgzMzMzLDE2LjI4ODgwOTUgTDE1LjQwODMzMzMsMTYuMjg4ODA5NSBaIE0yNi40MTQyODU3LDEyLjY1Njg0NTIgTDI2LjQxNDI4NTcsMTIuODc2OTY0MyBMMzEuMzY2OTY0MywxMi44NzY5NjQzIEwzMS4zNjY5NjQzLDEyLjY1Njg0NTIgTDI2LjQxNDI4NTcsMTIuNjU2ODQ1MiBMMjYuNDE0Mjg1NywxMi42NTY4NDUyIFogTTE3LjQ5OTQ2NDMsNi4yNzMzOTI4NiBMMTcuNDk5NDY0Myw2LjE2MzMzMzMzIEMxNy40OTk0NjQzLDMuNDExODQ1MjQgMTUuODQ4NTcxNCwxLjk4MTA3MTQzIDE0Ljg1ODAzNTcsMS4yMTA2NTQ3NiBMMTQuODU4MDM1NywxLjU0MDgzMzMzIEMxNS44NDg1NzE0LDIuMjAxMTkwNDggMTcuNDk5NDY0MywzLjYzMTk2NDI5IDE3LjQ5OTQ2NDMsNi4yNzMzOTI4NiBMMTcuNDk5NDY0Myw2LjI3MzM5Mjg2IFogTTI2LjQxNDI4NTcsNy43MDQxNjY2NyBMMjQuNzYzMzkyOSw3LjcwNDE2NjY3IEwyNC43NjMzOTI5LDcuOTI0Mjg1NzEgTDI2LjQxNDI4NTcsNy45MjQyODU3MSBMMjYuNDE0Mjg1Nyw3LjcwNDE2NjY3IEwyNi40MTQyODU3LDcuNzA0MTY2NjcgWiBNMi4zMTEyNSw2LjgyMzY5MDQ4IEwyLjMxMTI1LDYuOTMzNzUgQzIuNDIxMzA5NTIsMy4wODE2NjY2NyA1LjA2MjczODEsLTAuMTEwMDU5NTI0IDEwLjU2NTcxNDMsLTAuMTEwMDU5NTI0IEwxOC4zNzk5NDA1LC0wLjExMDA1OTUyNCBMMTguNzEwMTE5LC0wLjQ0MDIzODA5NSBMMTAuNjc1NzczOCwtMC40NDAyMzgwOTUgQzQuOTUyNjc4NTcsLTAuNDQwMjM4MDk1IDIuMzExMjUsMi45NzE2MDcxNCAyLjMxMTI1LDYuODIzNjkwNDggTDIuMzExMjUsNi44MjM2OTA0OCBaIE0xOS44MTA3MTQzLDEyLjk4NzAyMzggTDI0Ljc2MzM5MjksMTIuOTg3MDIzOCBMMjQuNzYzMzkyOSwxMi43NjY5MDQ4IEwxOS44MTA3MTQzLDEyLjc2NjkwNDggTDE5LjgxMDcxNDMsMTIuOTg3MDIzOCBMMTkuODEwNzE0MywxMi45ODcwMjM4IFoiIGlkPSJTaGFwZSIgZmlsbC1vcGFjaXR5PSIwLjY0IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
}
.btn-icon-local {
background-color: #84B6EF;
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMy4zLjIgKDEyMDQzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5SZWN0YW5nbGUgMjkxICsgUGF0aCAyMzI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0iQS4xLVZlcmlmeS1FbWFpbC1TY3JlZW5fbG9naW4tIiBza2V0Y2g6dHlwZT0iTVNBcnRib2FyZEdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDA5LjAwMDAwMCwgLTIwOS4wMDAwMDApIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxnIGlkPSJSZWN0YW5nbGUtMzktQ29weS02LSstRW1haWwtQ29weS0rLVJlY3RhbmdsZS0yOTAtKy1SZWN0YW5nbGUtMjkxLSstUGF0aC0yMzIiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQwMC4wMDAwMDAsIDE5Ny4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJSZWN0YW5nbGUtMjkwLSstUmVjdGFuZ2xlLTI5MS0rLVBhdGgtMjMyIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iUmVjdGFuZ2xlLTI5MS0rLVBhdGgtMjMyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMTIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yOTEiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIxOS4zNSI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsMS45MjcyNzEzOSBMMTEuNjExMzAxOSwxMi45IEwyNCwxLjE5MjYyODgxIiBpZD0iUGF0aC0yMzIiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
}
.btn-icon-coreos {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjNjY2IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDIxNSAyMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KICA8Zz4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xMDcuNDc5LDEuMDc1Yy01OC42NzcsMC0xMDYuNDA0LDQ3LjczLTEwNi40MDQsMTA2LjM5OGMwLDU4LjY3Miw0Ny43MjcsMTA2LjM5OSwxMDYuNDA0LDEwNi4zOTkNCiAgICAgICAgICAgICAgYzU4LjY1OSwwLDEwNi4zOS00Ny43MjcsMTA2LjM5LTEwNi4zOTlDMjEzLjg2OSw0OC44MDUsMTY2LjEzOCwxLjA3NSwxMDcuNDc5LDEuMDc1eiBNMTQ3LjQ0OSwxMzQuNjI3DQogICAgICAgICAgICAgIGMtMC44OCwwLjEyOC0xLjc0OSwwLjI1MS0yLjYzMiwwLjM2NGMtOC4wMywxLjAzOC0xNi42MDIsMS43NDMtMjUuNTYxLDIuMDc4Yy0zLjg1NiwwLjE0NC03Ljc5MywwLjIzMS0xMS43NzYsMC4yMzENCiAgICAgICAgICAgICAgYy0zLjk5NSwwLTcuOTItMC4wODYtMTEuNzg4LTAuMjMxYy04Ljk0OC0wLjMzNS0xNy41MjYtMS4wNC0yNS41NDktMi4wNzhjLTAuNzE2LTUuOTg3LTEuMjAxLTEyLjIxNi0xLjQ0My0xOC42MjMNCiAgICAgICAgICAgICAgYy0wLjExNi0yLjkyNi0wLjE3My01Ljg5Ni0wLjE3My04Ljg5NWMwLTMuMDAyLDAuMDU3LTUuOTY2LDAuMTczLTguODk4YzAuMjQzLTYuNDA4LDAuNzI4LTEyLjYzMywxLjQ0My0xOC42Mg0KICAgICAgICAgICAgICBjMC4xNDQtMS4yNDYsMC4zMDYtMi40ODUsMC40NzMtMy43MDljNS4yNDEtMzguMDQsMTkuNzUyLTY1LjQwOCwzNi44NjMtNjUuNDA4YzUzLjM2NCwwLDk2LjYzMiw0My4yNjIsOTYuNjMzLDk2LjYzNQ0KICAgICAgICAgICAgICBDMjA0LjExMiwxMTkuNTQ3LDE4MC44NjYsMTI5LjkzNCwxNDcuNDQ5LDEzNC42Mjd6Ii8+DQogICAgICA8cGF0aCBkPSJNMTQ3LjQ0OCw4MC4zMTZjLTAuOTY5LTEuNDE0LTIuMDA5LTIuNzY4LTMuMTE3LTQuMDY5Yy04Ljg2Ni0xMC40NTEtMjIuMDc0LTE3LjA5Mi0zNi44NTItMTcuMDkyDQogICAgICAgICAgICAgIGMtNC43OTEsMC05LjA1Nyw3LjMzMy0xMS43ODgsMTguNzJjLTEuMDg1LDQuNTQtMS45MjgsOS43MjEtMi40NywxNS4zNDNjLTAuNDI4LDQuNTA1LTAuNjU4LDkuMjk3LTAuNjU4LDE0LjI1NQ0KICAgICAgICAgICAgICBzMC4yMzEsOS43NTEsMC42NTgsMTQuMjUyYzQuNTA4LDAuNDI4LDkuMjkzLDAuNjU3LDE0LjI1OCwwLjY1N2M0Ljk1OSwwLDkuNzQ0LTAuMjMsMTQuMjUyLTAuNjU3DQogICAgICAgICAgICAgIGM5LjkxMS0wLjk0LDE4LjQ2Ni0yLjg0NiwyNC41MjctNS4zNTdjNS45ODYtMi40NzYsOS41MjgtNS41NTksOS41MjgtOC44OTVDMTU1Ljc4Niw5Ny40MDcsMTUyLjcxMiw4OC4wNTcsMTQ3LjQ0OCw4MC4zMTZ6Ii8+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==);
}
.btn-icon-github {
background-color: #F5F5F5;
background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOGMwIDMuNTQgMi4yOSA2LjUzIDUuNDcgNy41OSAwLjQgMC4wNyAwLjU1LTAuMTcgMC41NS0wLjM4IDAtMC4xOS0wLjAxLTAuODItMC4wMS0xLjQ5LTIuMDEgMC4zNy0yLjUzLTAuNDktMi42OS0wLjk0LTAuMDktMC4yMy0wLjQ4LTAuOTQtMC44Mi0xLjEzLTAuMjgtMC4xNS0wLjY4LTAuNTItMC4wMS0wLjUzIDAuNjMtMC4wMSAxLjA4IDAuNTggMS4yMyAwLjgyIDAuNzIgMS4yMSAxLjg3IDAuODcgMi4zMyAwLjY2IDAuMDctMC41MiAwLjI4LTAuODcgMC41MS0xLjA3LTEuNzgtMC4yLTMuNjQtMC44OS0zLjY0LTMuOTUgMC0wLjg3IDAuMzEtMS41OSAwLjgyLTIuMTUtMC4wOC0wLjItMC4zNi0xLjAyIDAuMDgtMi4xMiAwIDAgMC42Ny0wLjIxIDIuMiAwLjgyIDAuNjQtMC4xOCAxLjMyLTAuMjcgMi0wLjI3IDAuNjggMCAxLjM2IDAuMDkgMiAwLjI3IDEuNTMtMS4wNCAyLjItMC44MiAyLjItMC44MiAwLjQ0IDEuMSAwLjE2IDEuOTIgMC4wOCAyLjEyIDAuNTEgMC41NiAwLjgyIDEuMjcgMC44MiAyLjE1IDAgMy4wNy0xLjg3IDMuNzUtMy42NSAzLjk1IDAuMjkgMC4yNSAwLjU0IDAuNzMgMC41NCAxLjQ4IDAgMS4wNy0wLjAxIDEuOTMtMC4wMSAyLjIgMCAwLjIxIDAuMTUgMC40NiAwLjU1IDAuMzhDMTMuNzEgMTQuNTMgMTYgMTEuNTMgMTYgOCAxNiAzLjU4IDEyLjQyIDAgOCAweiIgLz4KPC9zdmc+Cg==);
}
.btn-icon-bitbucket {
background-color: #205081;
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTAwMCIgd2lkdGg9Ijc4NS43MTQiPjxwYXRoIGQ9Ik00NTQuNzcgNDc5LjM4NnE0LjQ2NCAzNS4xNTQgLTI4LjE3OSA1Ni4zNTh0LTYyLjIxNyAzLjM0OHEtMjEuNzYyIC05LjQ4NiAtMjkuODUzIC0zMi4zNjR0LS4yNzkgLTQ1Ljc1NiAyOS4wMTYgLTMyLjM2NHEyMC4wODggLTEwLjA0NCA0MC40NTUgLTYuNjk2dDM1LjcxMiAxOS44MDkgMTUuMzQ1IDM3LjY2NXptNjEuOTM4IC0xMS43MThxLTcuODEyIC01OS43MDYgLTYzLjA1NCAtOTEuNTEydC0xMDkuOTI2IC03LjI1NHEtMzUuMTU0IDE1LjYyNCAtNTYuMDc5IDQ5LjM4M3QtMTkuMjUxIDcyLjI2MXEyLjIzMiA1MC43NzggNDMuMjQ1IDg2LjQ5dDkyLjM0OSAzMS4yNDhxNTAuNzc4IC00LjQ2NCA4NC44MTYgLTQ2Ljg3MnQyNy45IC05My43NDR6bTEzMy4zNjIgLTMwMi40MzZxLTExLjE2IC0xNS4wNjYgLTMxLjI0OCAtMjQuODMxdC0zMi4zNjQgLTEyLjI3NiAtMzkuNjE4IC02Ljk3NXEtMTYyLjM3OCAtMjYuMjI2IC0zMTUuODI4IDEuMTE2IC0yMy45OTQgMy45MDYgLTM2LjgyOCA2LjY5NnQtMzAuNjkgMTIuMjc2IC0yNy45IDIzLjk5NHExNi43NCAxNS42MjQgNDIuNDA4IDI1LjM4OXQ0MS4wMTMgMTIuMjc2IDQ4LjgyNSA2LjQxN3ExMjcuMjI0IDE2LjE4MiAyNDkuOTg0IC41NTggMzUuMTU0IC00LjQ2NCA0OS45NDEgLTYuNjk2dDQwLjQ1NSAtMTEuOTk3IDQxLjg1IC0yNS45NDd6bTMxLjgwNiA1NzcuNTNxLTQuNDY0IDE0LjUwOCAtOC42NDkgNDIuNjg3dC03LjgxMiA0Ni44NzIgLTE1LjkwMyAzOS4wNiAtMzIuMzY0IDMxLjUyN3EtNDcuOTg4IDI2Ljc4NCAtMTA1Ljc0MSAzOS44OTd0LTExMi43MTYgMTIuMjc2IC0xMTIuNDM3IC0xMC4zMjNxLTI1LjY2OCAtNC40NjQgLTQ1LjQ3NyAtMTAuMDQ0dC00Mi42ODcgLTE1LjA2NiAtNDAuNzM0IC0yNC4yNzMgLTI5LjAxNiAtMzQuMzE3cS0xMy45NSAtNTMuNTY4IC0zMS44MDYgLTE2Mi45MzZsMy4zNDggLTguOTI4IDEwLjA0NCAtNS4wMjJxMTI0LjQzNCA4Mi41ODQgMjgyLjYyNyA4Mi41ODR0MjgzLjE4NSAtODIuNTg0cTExLjcxOCAzLjM0OCAxMy4zOTIgMTIuODM0dC0yLjc5IDI1LjExIC00LjQ2NCAyMC42NDZ6bTEwMC45OTggLTUzNi4yMzhxLTE0LjUwOCA5My4xODYgLTYxLjkzOCAzNjUuNDkgLTIuNzkgMTYuNzQgLTE1LjA2NiAzMS4yNDh0LTI0LjI3MyAyMi4zMiAtMzAuNDExIDE3LjI5OHEtMTQwLjYxNiA3MC4zMDggLTM0MC4zOCA0OS4xMDQgLTEzOC4zODQgLTE1LjA2NiAtMjE5Ljg1MiAtNzcuNTYyIC04LjM3IC02LjY5NiAtMTQuMjI5IC0xNC43ODd0LTkuNDg2IC0xOS41MyAtNS4wMjIgLTE4Ljk3MiAtMy4zNDggLTIyLjA0MSAtMy4wNjkgLTE5LjUzcS01LjAyMiAtMjcuOSAtMTQuNzg3IC04My43dC0xNS42MjQgLTkwLjExNyAtMTMuMTEzIC04Mi4zMDUgLTEyLjI3NiAtODguMTY0cTEuNjc0IC0xNC41MDggOS43NjUgLTI3LjA2M3QxNy41NzcgLTIwLjkyNSAyNS4xMSAtMTYuNzQgMjUuNjY4IC0xMi41NTUgMjYuNzg0IC0xMC4zMjNxNjkuNzUgLTI1LjY2OCAxNzQuNjU0IC0zNS43MTIgMjExLjQ4MiAtMjAuNjQ2IDM3Ny4yMDggMjcuOSA4Ni40OSAyNS42NjggMTE5Ljk3IDY4LjA3NiA4LjkyOCAxMS4xNiA5LjIwNyAyOC40NTh0LTMuMDY5IDMwLjEzMnoiIGZpbGw9IiNGRkZGRkYiLz48L3N2Zz4K);
}
.btn-text {
line-height: 36px;
padding: 6px 12px;
text-align: center;
font-weight: 600;
}
.form-row {
display: block;
margin: 20px auto;
}
label {
font-size: 13px;
font-weight: 600;
}
.input-box {
display: block;
height: 36px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #666;
border: 1px solid #CCC;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
width: 250px;
margin: auto;
}
.input-box:focus,
.input-box:active {
outline: none;
border-color: #66AFE9;
}
.error-box-field,
.error-box {
background-color: #DD1327;
max-width: 320px;
color: #fff;
font-size: 14px;
font-weight: normal;
padding: 4px 0;
}
.error-box {
margin: 20px auto;
}
.error-box-field {
margin: 0 auto;
width: 250px;
}
.instruction-block {
font-size: 14px;
}
.detail-block {
color: #777;
font-size: 12px;
margin-top: 20px;
}
</style>
</head>
<body>
<div id="navbar">
<div id="navbar-logo-wrap">
<img id="navbar-logo" src="https://coreos.com/assets/images/brand/coreos-mark-30px.png">
</div>
</div>
<div id="container">
<div class="panel">
<h2 class="heading">Reset your password</h2>
<form onsubmit="return validate();" id="resetPasswordForm" method="POST" action="/reset-password">
<div class="form-row">
<div class="input-desc">
<label for="password">New Password</label>
</div>
<input minlength="6" required class="input-box" type="password" id="password" name="password" value="" autofocus />
</div>
<div class="form-row">
<div class="input-desc">
<label for="password-confirm">Confirm New Password</label>
</div>
<input minlength="6" required class="input-box" type="password" id="password-confirm" name="password-confirm" />
</div>
<div id="js-error" style="display: none;" class="error-box">Passwords do not match</div>
<button type="submit" class="btn btn-tec">Reset</button>
<input type="hidden" name="token" value="eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyODg3NjE0ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vcGFzc3dvcmQvb2xkLWhhc2giOiJwYXNzd29yZCIsImh0dHA6Ly9jb3Jlb3MuY29tL3Bhc3N3b3JkL3Jlc2V0LWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImlhdCI6MS40NTI4ODQwMTRlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiSUQtMSJ9.ceaP7Bdq1ZxzpIR3Vx-Robl6pF7NeL3thYzykS54G8q_BOHHl67FheF6xJXyIaF_WD3TYVNv2lQwF8HF2rW01x-8v9oiZikMo4v8fKyURxQ-UUg5-kQIX5oB6LbBl4kE2vFtxOBUzKcTdX2FpqXfrdZ7A2-Hz2-skWUyJq7CnoEzEoTpdCAfzU0PazhtYRlF9loHYSnhWa5lIOgbvDWapANYJb216Q6jXuu9OjlgZ0D5l4Zhwr4CrrsdjN-wD4GIPPSZz5koXUv76VhCKxh4FjdRPOfY8Z9VhK--D3cV7tXvfMWp0hI5tJRV--EyTateNsB0Q8pvv0kb3ha8Spkqwg" />
</form>
</div>
<script>
function validate() {
var p1 = document.getElementById('password'),
p2 = document.getElementById('password-confirm'),
valid = p1 && p2 && p1.value === p2.value;
if (valid) {
hideError();
} else {
showError();
}
return valid;
}
function hideError() {
var e = document.getElementById('js-error');
e.style.display = 'none';
}
function showError() {
var e = document.getElementById('js-error');
e.style.display = 'block';
}
</script>
</div>
</body>
</html>
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Session code-5 created: clientID=XXX clientState=
INFO: Session code-5 remote identity attached: clientID=XXX identity=oidc.Identity{ID:"remoteID", Name:"", Email:"[email protected]", ExpiresAt:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}
INFO: Session code-5 user identified: clientID=XXX user=user.User{ID:"register-test-new-user", DisplayName:"", Email:"[email protected]", EmailVerified:true, Admin:false, Disabled:false, CreatedAt:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
From: [email protected]
Subject: Please verify your email address.
To: [email protected]
Body(text): Hello!
Please verify that your email is [email protected] by clicking here:
http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiODk5YzI2OTctMzdiZC00NzNiLWE1MTAtZTVlNWI4YmIzZGFiIn0.jxjQu6TLrmE4YxY1ZkU3pE0fGopJNP1A-yqoHqUgarerXQNm2iqcX1gp-LjFtq3US2UGoReLp6tK1OO54ZmySkZ2QA5H2G_wW68dS1C4CFe79nWWOUhp3542vqpmp1gGw7aVBB5QNI2NgUlTbRGl0iS4HYKmcY3dXr2ixtUhpVEiEGmplEAzycYZVP7RRXBDNEFHEvZbqvn_DHCkEs4AT_-aV8f2Fd24mgCUvWitWQ6sYVhecTuH-NZQH0-ASW0duioEnsJN-ZaC6FZg_xheDk8WNHXmGUmfZqu81lvs1qnk0vuGPHlfOK9jN3ULX8BJYZny_hF44QaCyG_JfK8B-Q
Body(html): <html>
<body>
Hello!
<br/>
Please verify that your email is [email protected] by clicking here:
<br/>
<br/>
<a href="http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiODk5YzI2OTctMzdiZC00NzNiLWE1MTAtZTVlNWI4YmIzZGFiIn0.jxjQu6TLrmE4YxY1ZkU3pE0fGopJNP1A-yqoHqUgarerXQNm2iqcX1gp-LjFtq3US2UGoReLp6tK1OO54ZmySkZ2QA5H2G_wW68dS1C4CFe79nWWOUhp3542vqpmp1gGw7aVBB5QNI2NgUlTbRGl0iS4HYKmcY3dXr2ixtUhpVEiEGmplEAzycYZVP7RRXBDNEFHEvZbqvn_DHCkEs4AT_-aV8f2Fd24mgCUvWitWQ6sYVhecTuH-NZQH0-ASW0duioEnsJN-ZaC6FZg_xheDk8WNHXmGUmfZqu81lvs1qnk0vuGPHlfOK9jN3ULX8BJYZny_hF44QaCyG_JfK8B-Q">Click here to verify!</a>
</body>
</html>
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
From: [email protected]
Subject: Please verify your email address.
To: [email protected]
Body(text): Hello!
Please verify that your email is [email protected] by clicking here:
http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiMmZlMTE2ODgtNmU1OC00OWY4LTgxODYtYjJkOGFhMTUwNzdlIn0.g9j-vz96iltvFccJTOZehgMETbOhIttSEyIFxnw8yXZGapgIpz7nvsru8o_D1dp_MFDnXske7pkzjGPi25n5IjOgCGgJjpYVybm4IAQNcbrcaeSfXSP8RMlKIdQwfRg797ZX_OaVZqJ57RsC7xcX45o2r0xKQkdEfnDYwaSNY6dmplIIg5e7x5T4W_FiQWpW0Eq754WXAyyMAu2l9YKzxBrtIDqCmtIYTgX4jha0B0G4skzis_cwWha5OAKO5jv82jeGpyli7vALfQbxLym91EKgU0sabvz5siCKLQNSnxlLoB86FTmAlRgpHRzb8kvJkRhBSpGSMODIao0CVbbUkw
Body(html): <html>
<body>
Hello!
<br/>
Please verify that your email is [email protected] by clicking here:
<br/>
<br/>
<a href="http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiMmZlMTE2ODgtNmU1OC00OWY4LTgxODYtYjJkOGFhMTUwNzdlIn0.g9j-vz96iltvFccJTOZehgMETbOhIttSEyIFxnw8yXZGapgIpz7nvsru8o_D1dp_MFDnXske7pkzjGPi25n5IjOgCGgJjpYVybm4IAQNcbrcaeSfXSP8RMlKIdQwfRg797ZX_OaVZqJ57RsC7xcX45o2r0xKQkdEfnDYwaSNY6dmplIIg5e7x5T4W_FiQWpW0Eq754WXAyyMAu2l9YKzxBrtIDqCmtIYTgX4jha0B0G4skzis_cwWha5OAKO5jv82jeGpyli7vALfQbxLym91EKgU0sabvz5siCKLQNSnxlLoB86FTmAlRgpHRzb8kvJkRhBSpGSMODIao0CVbbUkw">Click here to verify!</a>
</body>
</html>
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
From: [email protected]
Subject: Please verify your email address.
To: [email protected]
Body(text): Hello!
Please verify that your email is [email protected] by clicking here:
http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiZmQwYmQwODktZGYwMC00ZTM1LTljM2EtODI4MzExZDk5NGZmIn0.GIbXbM0F7-m-kuQWIiB5hjiC4pRGUm3yM3wKY-QtQ43lHMtEguSFL5Tw9tzmblTgiL0iNNrfbYIk_kJgaUxWvip5eI6QAI7U54lwpXDr8BD5kP9Xam1SQldj9g10ywq1gLpUZkVTcsmCyT5rL6Oakwe2nTCoc2ZPENhyiGJMydGHY0zv0HRxhHSdP3B0UvhC9l7WVzsE5i9tZP1zga_5q7Nu1C-QSz7nzoLtNJa-JvsNxGUQRKn4AHstCm10MCYk-WyetREv24gptCovbDQpJaIYJC9nrkkSu25oxHAlI8UFtl70UFwpJy9evV5oWDy_ocE5EP_bhg5OVVJI0HoB8Q
Body(html): <html>
<body>
Hello!
<br/>
Please verify that your email is [email protected] by clicking here:
<br/>
<br/>
<a href="http://server.example.com/verify-email?token=eyJhbGciOiJSUzI1NiIsImtpZCI6InRzMjJlQUZNTlE1REwycWpXNHpPbUNuTjZ2VHdDMDMyc1J6d3p2SjhIa0pSb3IzeFF1cnZ3amlFcE5jajhQQ0s5eTlzOEhtaERNYVVnNUZoZjBPZkdWdG5XSXFVdng3Q0ZORWU0LTZwZnNlemZwVkFpbE9aQjc0alR1YmZDOExXMnVMUXFZemFWeGlWQ1I2VDA5ZzdBdDNYb2h6bFBtdE54X210dWFnd2hwMWR2UzNsMVUyVGZfcXBwejdsX0pXTTJTSEhJWDhSOGl0ZEI0Y3VxbmtHY0pZMTZOUVJkU0lJcDFDTnhlbTNONkZPQlRpZW1mVG0xdG96VUxIMEx4emNjcGVEQkhNdlRMaTZ1eFRJTU1UbGVqUDNVbXZtbFNoY21rT0VvZmMwNm5Kd2dXOVVfX09GanFIY1hoanFhSUhUX3pFdTdOOExDbGtKZVRsN1lYc3J6dz09IiwidHlwIjoiSldUIn0.eyJhdWQiOiJYWFgiLCJleHAiOjEuNDUyOTI3MjE1ZSswOSwiaHR0cDovL2NvcmVvcy5jb20vZW1haWwvdmVyaWZpY2F0aW9uLWNhbGxiYWNrIjoiaHR0cDovL2NsaWVudC5leGFtcGxlLmNvbS9jYWxsYmFjayIsImh0dHA6Ly9jb3Jlb3MuY29tL2VtYWlsL3ZlcmlmaWNhdGlvbkVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSIsImlhdCI6MS40NTI4ODQwMTVlKzA5LCJpc3MiOiJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwic3ViIjoiZmQwYmQwODktZGYwMC00ZTM1LTljM2EtODI4MzExZDk5NGZmIn0.GIbXbM0F7-m-kuQWIiB5hjiC4pRGUm3yM3wKY-QtQ43lHMtEguSFL5Tw9tzmblTgiL0iNNrfbYIk_kJgaUxWvip5eI6QAI7U54lwpXDr8BD5kP9Xam1SQldj9g10ywq1gLpUZkVTcsmCyT5rL6Oakwe2nTCoc2ZPENhyiGJMydGHY0zv0HRxhHSdP3B0UvhC9l7WVzsE5i9tZP1zga_5q7Nu1C-QSz7nzoLtNJa-JvsNxGUQRKn4AHstCm10MCYk-WyetREv24gptCovbDQpJaIYJC9nrkkSu25oxHAlI8UFtl70UFwpJy9evV5oWDy_ocE5EP_bhg5OVVJI0HoB8Q">Click here to verify!</a>
</body>
</html>
INFO: Loaded IdP connector: id=oidc type=oidc
INFO: Loaded IdP connector: id=oidc-trusted type=oidc
INFO: Loaded IdP connector: id=local type=local
INFO: Session code-1 created: clientID=XXX clientState=
ERROR: Failed JSON-encoding HTTP response: json: unsupported type: chan bool
INFO: Session 6WWW3T0NaTE= created: clientID=XXX clientState=pants
INFO: Session fakecode remote identity attached: clientID=XXX identity=oidc.Identity{ID:"YYY", Name:"elroy", Email:"[email protected]", ExpiresAt:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}
INFO: Session fakecode user identified: clientID=XXX user=user.User{ID:"testid-1", DisplayName:"", Email:"[email protected]", EmailVerified:false, Admin:false, Disabled:false, CreatedAt:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}
INFO: Session fakecode remote identity attached: clientID=XXX identity=oidc.Identity{ID:"disabled-connector-id", Name:"elroy", Email:"[email protected]", ExpiresAt:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}
INFO: Session nYU2VkRCIn0= token sent: clientID=XXX
INFO: Session PtMa9J1kNKA= requests offline access, will generate refresh token
INFO: Session PtMa9J1kNKA= token sent: clientID=XXX
INFO: Session goodkey requests offline access, will generate refresh token
INFO: Session goodkey token sent: clientID=XXX
INFO: Session goodkey token sent: clientID=XXX
ERROR: Failed to Authenticate client YYY
ERROR: Failed to generate ID token: fail
INFO: New token sent: clientID=XXX
ERROR: Failed to Authenticate client
ERROR: Failed to Authenticate client AAA
ERROR: Failed to Authenticate client XXX
ERROR: Failed to Authenticate client XXX
ERROR: Failed to generate ID token: fail
ERROR: Failed to fetch user "testid-2" from repo: user not found in repository:
FAIL
coverage: 48.3% of statements
FAIL github.com/coreos/dex/server 6.916s
ok github.com/coreos/dex/session 0.005s coverage: 75.3% of statements
ok github.com/coreos/dex/user 4.418s coverage: 37.4% of statements
ok github.com/coreos/dex/user/api 0.011s coverage: 82.4% of statements
ok github.com/coreos/dex/user/manager 0.492s coverage: 68.1% of statements
ok github.com/coreos/dex/email 0.012s coverage: 42.8% of statements
The command "./test" exited with 1.
$ ./test-functional
ok github.com/coreos/dex/functional 6.137s
ok github.com/coreos/dex/functional/repo 9.944s
The command "./test-functional" exited with 0.
Done. Your build exited with 1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment