mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-25 03:06:10 +01:00
22 lines
857 B
Go
22 lines
857 B
Go
|
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)
|
||
|
}
|