aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/markbates/goth/session.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/markbates/goth/session.go')
-rw-r--r--vendor/github.com/markbates/goth/session.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/markbates/goth/session.go b/vendor/github.com/markbates/goth/session.go
new file mode 100644
index 0000000000..2d40b50bb4
--- /dev/null
+++ b/vendor/github.com/markbates/goth/session.go
@@ -0,0 +1,21 @@
+package goth
+
+// Params is used to pass data to sessions for authorization. An existing
+// implementation, and the one most likely to be used, is `url.Values`.
+type Params interface {
+ Get(string) string
+}
+
+// Session needs to be implemented as part of the provider package.
+// It will be marshaled and persisted between requests to "tie"
+// the start and the end of the authorization process with a
+// 3rd party provider.
+type Session interface {
+ // GetAuthURL returns the URL for the authentication end-point for the provider.
+ GetAuthURL() (string, error)
+ // Marshal generates a string representation of the Session for storing between requests.
+ Marshal() string
+ // Authorize should validate the data from the provider and return an access token
+ // that can be stored for later access to the provider.
+ Authorize(Provider, Params) (string, error)
+}