Skip to content

Commit

Permalink
oauth2: Fix swagger documentation for oauth2/token (#1284)
Browse files Browse the repository at this point in the history
Closes #1274

Signed-off-by: aeneasr <aeneas@ory.sh>
  • Loading branch information
aeneasr authored Feb 18, 2019
1 parent 769491d commit 3db25f6
Show file tree
Hide file tree
Showing 132 changed files with 2,693 additions and 1,006 deletions.
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,10 @@ gen: gen-mocks gen-sql gen-sdk

.PHONY: gen-sdk
gen-sdk:
swagger generate spec -m -o ./docs/api.swagger.json
swagger validate ./docs/api.swagger.json
GO111MODULE=on go mod tidy
GO111MODULE=on go mod vendor
GO111MODULE=off swagger generate spec -m -o ./docs/api.swagger.json
GO111MODULE=off swagger validate ./docs/api.swagger.json

rm -rf ./sdk/go/hydra/swagger
rm -rf ./sdk/js/swagger
Expand Down Expand Up @@ -93,3 +95,4 @@ gen-sdk:
rm -rf ./sdk/js/swagger/test
rm -f ./sdk/php/swagger/composer.json ./sdk/php/swagger/phpunit.xml.dist
rm -rf ./sdk/php/swagger/test
rm -rf ./vendor
19 changes: 19 additions & 0 deletions client/sdk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"net/http/httptest"
"strings"
"testing"
"time"

"github.com/julienschmidt/httprouter"
"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -89,34 +90,50 @@ func TestClientSDK(t *testing.T) {
result, response, err := c.CreateOAuth2Client(createClient)
require.NoError(t, err)
require.EqualValues(t, http.StatusCreated, response.StatusCode, "%s", response.Payload)
assert.NotEmpty(t, result.UpdatedAt)
result.UpdatedAt = time.Time{}
assert.NotEmpty(t, result.CreatedAt)
result.CreatedAt = time.Time{}
assert.EqualValues(t, compareClient, *result)

// secret is not returned on GetOAuth2Client
compareClient.ClientSecret = ""
result, response, err = c.GetOAuth2Client(createClient.ClientId)
require.NoError(t, err)
require.EqualValues(t, http.StatusOK, response.StatusCode, "%s", response.Payload)
assert.NotEmpty(t, result.UpdatedAt)
result.UpdatedAt = time.Time{}
assert.NotEmpty(t, result.CreatedAt)
result.CreatedAt = time.Time{}
assert.EqualValues(t, compareClient, *result)

// listing clients returns the only added one
results, response, err := c.ListOAuth2Clients(100, 0)
require.NoError(t, err)
require.EqualValues(t, http.StatusOK, response.StatusCode, "%s", response.Payload)
assert.Len(t, results, 1)
assert.NotEmpty(t, results[0].UpdatedAt)
results[0].UpdatedAt = time.Time{}
assert.NotEmpty(t, results[0].CreatedAt)
results[0].CreatedAt = time.Time{}
assert.EqualValues(t, compareClient, results[0])

// SecretExpiresAt gets overwritten with 0 on Update
compareClient.ClientSecret = createClient.ClientSecret
result, response, err = c.UpdateOAuth2Client(createClient.ClientId, createClient)
require.NoError(t, err)
require.EqualValues(t, http.StatusOK, response.StatusCode, "%s", response.Payload)
assert.NotEmpty(t, result.UpdatedAt)
result.UpdatedAt = time.Time{}
assert.EqualValues(t, compareClient, *result)

// create another client
updateClient := createTestClient("foo")
result, response, err = c.UpdateOAuth2Client(createClient.ClientId, updateClient)
require.NoError(t, err)
require.EqualValues(t, http.StatusOK, response.StatusCode, "%s", response.Payload)
assert.NotEmpty(t, result.UpdatedAt)
result.UpdatedAt = time.Time{}
assert.EqualValues(t, updateClient, *result)

// again, test if secret is not returned on Get
Expand All @@ -125,6 +142,8 @@ func TestClientSDK(t *testing.T) {
result, response, err = c.GetOAuth2Client(updateClient.ClientId)
require.NoError(t, err)
require.EqualValues(t, http.StatusOK, response.StatusCode, "%s", response.Payload)
assert.NotEmpty(t, result.UpdatedAt)
result.UpdatedAt = time.Time{}
assert.EqualValues(t, compareClient, *result)

// client can not be found after being deleted
Expand Down
108 changes: 100 additions & 8 deletions docs/api.swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -1609,7 +1609,7 @@
"oauth2": []
}
],
"description": "This endpoint is not documented here because you should never use your own implementation to perform OAuth2 flows.\nOAuth2 is a very popular protocol and a library for your programming language will exists.\n\nTo learn more about this flow please refer to the specification: https://tools.ietf.org/html/rfc6749",
"description": "The client makes a request to the token endpoint by sending the\nfollowing parameters using the \"application/x-www-form-urlencoded\" HTTP\nrequest entity-body.\n\n\u003e Do not implement a client for this endpoint yourself. Use a library. There are many libraries\n\u003e available for any programming language. You can find a list of libraries here: https://oauth.net/code/\n\u003e\n\u003e Do not the the Hydra SDK does not implement this endpoint properly. Use one of the libraries listed above!",
"consumes": [
"application/x-www-form-urlencoded"
],
Expand All @@ -1624,12 +1624,39 @@
"public"
],
"summary": "The OAuth 2.0 token endpoint",
"operationId": "oauthToken",
"operationId": "oauth2Token",
"parameters": [
{
"type": "string",
"x-go-name": "GrantType",
"name": "grant_type",
"in": "formData",
"required": true
},
{
"type": "string",
"x-go-name": "Code",
"name": "code",
"in": "formData"
},
{
"type": "string",
"x-go-name": "RedirectURI",
"name": "redirect_uri",
"in": "formData"
},
{
"type": "string",
"x-go-name": "ClientID",
"name": "client_id",
"in": "formData"
}
],
"responses": {
"200": {
"description": "oauthTokenResponse",
"description": "oauth2TokenResponse",
"schema": {
"$ref": "#/definitions/oauthTokenResponse"
"$ref": "#/definitions/oauth2TokenResponse"
}
},
"401": {
Expand Down Expand Up @@ -2129,7 +2156,7 @@
}
},
"x-go-name": "swaggerNotReadyStatus",
"x-go-package": "github.com/ory/x/healthx"
"x-go-package": "github.com/ory/hydra/vendor/github.com/ory/x/healthx"
},
"healthStatus": {
"type": "object",
Expand All @@ -2141,7 +2168,7 @@
}
},
"x-go-name": "swaggerHealthStatus",
"x-go-package": "github.com/ory/x/healthx"
"x-go-package": "github.com/ory/hydra/vendor/github.com/ory/x/healthx"
},
"jsonWebKeySetGeneratorRequest": {
"type": "object",
Expand Down Expand Up @@ -2279,10 +2306,16 @@
},
"x-go-name": "Contacts"
},
"created_at": {
"description": "CreatedAt returns the timestamp of the client's creation.",
"type": "string",
"format": "date-time",
"x-go-name": "CreatedAt"
},
"grant_types": {
"description": "GrantTypes is an array of grant types the client is allowed to use.",
"type": "array",
"pattern": "client_credentials|authorize_code|implicit|refresh_token",
"pattern": "client_credentials|authorization_code|implicit|refresh_token",
"items": {
"type": "string"
},
Expand Down Expand Up @@ -2367,6 +2400,12 @@
"type": "string",
"x-go-name": "TermsOfServiceURI"
},
"updated_at": {
"description": "UpdatedAt returns the timestamp of the last update.",
"type": "string",
"format": "date-time",
"x-go-name": "UpdatedAt"
},
"userinfo_signed_response_alg": {
"description": "JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT\n[JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims\nas a UTF-8 encoded JSON object using the application/json content-type.",
"type": "string",
Expand Down Expand Up @@ -2462,6 +2501,30 @@
"x-go-name": "Introspection",
"x-go-package": "github.com/ory/hydra/oauth2"
},
"oauth2TokenResponse": {
"description": "The Access Token Response",
"type": "object",
"properties": {
"access_token": {
"type": "string",
"x-go-name": "AccessToken"
},
"client_id": {
"type": "string",
"x-go-name": "RefreshToken"
},
"code": {
"type": "string",
"x-go-name": "TokenType"
},
"redirect_uri": {
"type": "string",
"x-go-name": "ExpiresIn"
}
},
"x-go-name": "swaggeroauth2TokenResponse",
"x-go-package": "github.com/ory/hydra/oauth2"
},
"oauthTokenResponse": {
"description": "The token response",
"type": "object",
Expand Down Expand Up @@ -2707,6 +2770,35 @@
},
"x-go-package": "github.com/ory/hydra/oauth2"
},
"swaggeroauth2TokenParameters": {
"type": "object",
"required": [
"grant_type"
],
"properties": {
"client_id": {
"description": "in: formData",
"type": "string",
"x-go-name": "ClientID"
},
"code": {
"description": "in: formData",
"type": "string",
"x-go-name": "Code"
},
"grant_type": {
"description": "in: formData",
"type": "string",
"x-go-name": "GrantType"
},
"redirect_uri": {
"description": "in: formData",
"type": "string",
"x-go-name": "RedirectURI"
}
},
"x-go-package": "github.com/ory/hydra/oauth2"
},
"userinfoResponse": {
"description": "The userinfo response",
"type": "object",
Expand Down Expand Up @@ -2821,7 +2913,7 @@
}
},
"x-go-name": "swaggerVersion",
"x-go-package": "github.com/ory/x/healthx"
"x-go-package": "github.com/ory/hydra/vendor/github.com/ory/x/healthx"
},
"wellKnown": {
"description": "It includes links to several endpoints (e.g. /oauth2/token) and exposes information on supported signature algorithms\namong others.",
Expand Down
57 changes: 0 additions & 57 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,6 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/luna-duclos/instrumentedsql v0.0.0-20181016211422-eae529699c8a h1:c+XmkcFn/TPzhQb54T5SIXaF3PlGbnjdcArRfTK9L04=
github.com/luna-duclos/instrumentedsql v0.0.0-20181016211422-eae529699c8a/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk=
github.com/luna-duclos/instrumentedsql v0.0.0-20181107100131-f6e09e6fd233 h1:d1fTWBQrGrSBRgSpebswouMfBn2aY9HCpTE4zLKn5oM=
github.com/luna-duclos/instrumentedsql v0.0.0-20181107100131-f6e09e6fd233/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk=
github.com/luna-duclos/instrumentedsql v0.0.0-20181127104832-b7d587d28109 h1:SSbnT1UH/TdSedRIy8XVB1dsVUOFP8iHaa/+QE0/q2k=
github.com/luna-duclos/instrumentedsql v0.0.0-20181127104832-b7d587d28109/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk=
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
Expand Down Expand Up @@ -143,23 +139,6 @@ github.com/ory/dockertest v3.3.2+incompatible h1:uO+NcwH6GuFof/Uz8yzjNi1g0sGT5SL
github.com/ory/dockertest v3.3.2+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/ory/fosite v0.25.0 h1:GELSEQc6OIDsfvtx1nC0snzPpFF14W/f6MeMXPEiZ9I=
github.com/ory/fosite v0.25.0/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.26.0 h1:jWJ5RnF2fp5ZPvghq682yyAzi91zilCfMlvGdn6gC8o=
github.com/ory/fosite v0.26.0/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.26.2-0.20181031085642-2da976477fcd41493103ea478541d68ca04083ae h1:1yKnlghaHarWQbDs257+a2EhZXBiFcOKbtCYCjUiar8=
github.com/ory/fosite v0.26.2-0.20181031085642-2da976477fcd41493103ea478541d68ca04083ae/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.26.2-0.20181031085642-e2441d231a19 h1:8jQrkb3nO4nG5Dzpb2fj1ksaSDE2DGhFIhPt1jFgK74=
github.com/ory/fosite v0.26.2-0.20181031085642-e2441d231a19/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.27.0 h1:QYHW+asgRRIw5uk8a42/VpiwMQqQMPwZ4TP4xKNIMEA=
github.com/ory/fosite v0.27.0/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.27.1 h1:u6IUOY4FStOZVpxxAe9ZDL/D0uM5VkVFthpx8PrAdB8=
github.com/ory/fosite v0.27.1/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.27.2/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.27.3 h1:+LekWjYNN9jZW6MMOan84Y4I6wFshOZEHCxJo16p/QY=
github.com/ory/fosite v0.27.3/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.27.4 h1:+2Iu957COQM3vbWp5qjgq0W4icsjbtg+5y3AYJ87EjY=
github.com/ory/fosite v0.27.4/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.28.0 h1:LxCkLXeU5PxYh9d/VbfGVn8GTKkSdOZfrHWdjmIE//c=
github.com/ory/fosite v0.28.0/go.mod h1:uttCRNB0lM7+BJFX7CC8Bqo9gAPrcpmA9Ezc80Trwuw=
github.com/ory/fosite v0.29.0 h1:qFQfwy2YF1Bn5kgilT1LH3N0xOBvV865EXbj2bdxaoY=
github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0=
github.com/ory/go-convenience v0.1.0 h1:zouLKfF2GoSGnJwGq+PE/nJAE6dj2Zj5QlTgmMTsTS8=
Expand All @@ -170,27 +149,6 @@ github.com/ory/herodot v0.4.1 h1:XXzBJX6wt3xJ+rrlyiK7lot6CoO+a3hjx9rOvrptiyk=
github.com/ory/herodot v0.4.1/go.mod h1:3BOneqcyBsVybCPAJoi92KN2BpJHcmDqAMcAAaJiJow=
github.com/ory/sqlcon v0.0.7 h1:PQl4ihs11Xzw9wyFk0YQmQEnPL0icdJjiStQNaoRTmM=
github.com/ory/sqlcon v0.0.7/go.mod h1:oOyCmOJWAs8F0bnGmmIvGA9/4K1JqVL0D9JgvAaVc3U=
github.com/ory/x v0.0.21 h1:h6JLrV/yBDvDtCGflWra4glBxDA2nhtquxQ2Hlgboz0=
github.com/ory/x v0.0.21/go.mod h1:RK8UVvTumpXbrr72gxlc5sh+4ivoQfVV6G8rv6LPuro=
github.com/ory/x v0.0.24 h1:S+AXHXh4O943ZfZNecVw94ybLvMsObABX25/KZADUSg=
github.com/ory/x v0.0.24/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.25 h1:aaEutQG2F7/dVnYXZD+Mc4b24+m1ZvmIEldQXuFrVGg=
github.com/ory/x v0.0.25/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.26/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.27 h1:Dk/vlehXkf7LJbg9Y9tw2tRp/dBmywWAIcJJtTQbchU=
github.com/ory/x v0.0.27/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.28 h1:clBcMxMu/c7pLQhoioliRlJ7y8te73BCQmdMHdG2DAE=
github.com/ory/x v0.0.28/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.29 h1:rpKMq1/QeY5UcXBXjzKs1DugWj1SRBB692mCEgxR7u8=
github.com/ory/x v0.0.29/go.mod h1:ARp3iXjJhOEErlXHwUtfgVtEN1VnmW1ZxBZ0bw8eARk=
github.com/ory/x v0.0.30 h1:pfbgmGEkuy+k4I8VAOnFlTpsiFTBHhpv/rAUvhBHgJ0=
github.com/ory/x v0.0.30/go.mod h1:4hnvHBE1KfoPP99R82BH72s3UnHt//MmWX+5NYnfzFQ=
github.com/ory/x v0.0.31 h1:aDO76m7b5wUu5wfZQ8dHzWGV0qHxgAzUFfRIpkB+XFw=
github.com/ory/x v0.0.31/go.mod h1:4hnvHBE1KfoPP99R82BH72s3UnHt//MmWX+5NYnfzFQ=
github.com/ory/x v0.0.32 h1:fgxawi8zaB/WODqNcIukSsBfq5C64s2Xh7sOEjUuHhc=
github.com/ory/x v0.0.32/go.mod h1:4hnvHBE1KfoPP99R82BH72s3UnHt//MmWX+5NYnfzFQ=
github.com/ory/x v0.0.33 h1:Hfy1Xe+oKvOG8BN+B3ArM0eVfoCH7FElOmMzO0J/c0Q=
github.com/ory/x v0.0.33/go.mod h1:U7SUjn+NSVmHbWlS0LBSxbBk1hdPDmc2AJk9gZZZedA=
github.com/ory/x v0.0.35 h1:2mpHAegfgoIZ+U1wP/e40wAIMC98+JEolGWdwzJk8sQ=
github.com/ory/x v0.0.35/go.mod h1:U7SUjn+NSVmHbWlS0LBSxbBk1hdPDmc2AJk9gZZZedA=
github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE=
Expand All @@ -216,9 +174,6 @@ github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273 h1:agujYaXJSxSo1
github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/rubenv/sql-migrate v0.0.0-20170824124545-3f452fc0ebebbb784fdab91f7bc79a31dcacab5c/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY=
github.com/rubenv/sql-migrate v0.0.0-20170824124545-79fe99e24311 h1:zM8ImA1q87ULfhJHCoL4oe143J3qdXF2XWjJX42gszQ=
github.com/rubenv/sql-migrate v0.0.0-20170824124545-79fe99e24311/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY=
github.com/rubenv/sql-migrate v0.0.0-20180704111356-3f452fc0ebeb h1:lAOy8O8yKU3unXE92z9pfE7ylDwXr3202BLskpOaUcA=
github.com/rubenv/sql-migrate v0.0.0-20180704111356-3f452fc0ebeb/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY=
github.com/rubenv/sql-migrate v0.0.0-20180704111356-ba2c6a7295c59448dbc195cef2f41df5163b3892 h1:dKonk0uAnxXkHVWh5vGV3rD3NKkLvuhhJN4zpicBc/M=
Expand Down Expand Up @@ -256,8 +211,6 @@ github.com/toqueteos/webbrowser v0.0.0-20150720201625-21fc9f95c834 h1:50zdZDIkpL
github.com/toqueteos/webbrowser v0.0.0-20150720201625-21fc9f95c834/go.mod h1:Hqqqmzj8AHn+VlZyVjaRWY20i25hoOZGAABCcg2el4A=
github.com/uber-go/atomic v1.3.2 h1:Azu9lPBWRNKzYXSIwRfgRuDuS0YKsK4NFhiQv98gkxo=
github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
github.com/uber/jaeger-client-go v2.14.0+incompatible h1:1KGTNRby0tDiVDDhvzL0pz0N26M9DobVCfSqz4Z/UPc=
github.com/uber/jaeger-client-go v2.14.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/uber/jaeger-client-go v2.15.0+incompatible h1:NP3qsSqNxh8VYr956ur1N/1C1PjvOJnJykCzcD5QHbk=
github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/uber/jaeger-lib v1.5.0 h1:OHbgr8l656Ub3Fw5k9SWnBfIEwvoHQ+W2y+Aa9D1Uyo=
Expand All @@ -278,14 +231,6 @@ golang.org/x/crypto v0.0.0-20180830192347-182538f80094/go.mod h1:6SG95UA2DQfeDnf
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4 h1:Vk3wNqEZwyGyei9yq5ekj7frek2u7HUfffJ1/opblzc=
golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9 h1:mKdxBk7AujPs8kU4m80U72y/zjbZ3UcXC7dClwKbUI0=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc h1:F5tKCVGp+MUAHhKp5MZtGqAlGX3+oCsiL1Q629FL90M=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b h1:Elez2XeF2p9uyVj0yEUDqQ56NFcDtcBNkYP7yv8YbUE=
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 h1:MQ/ZZiDsUapFFiMS+vzwXkCTeEKaum+Do5rINYJDmxc=
golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67 h1:ng3VDlRp5/DHpSWl02R4rM9I+8M2rhmsuLwAMmkLQWE=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down Expand Up @@ -313,8 +258,6 @@ golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20181102223251-96e9e165b75e h1:mWs/o39kL0UjStxJimqI7o6rKvqDZcAQxqnwG6lmxfc=
golang.org/x/tools v0.0.0-20181102223251-96e9e165b75e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
google.golang.org/api v0.0.0-20180603000442-8e296ef26005/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf h1:rjxqQmxjyqerRKEj+tZW+MCm4LgpFXu18bsEoCMgDsk=
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
Expand Down
Loading

0 comments on commit 3db25f6

Please sign in to comment.