auth
2014-07-18
Child:7b9e0fc20256
auth/storage.go
Start rewriting the repo. This code originally was a carbon copy of https://github.com/RangelReale/osin, but I am methodically stripping out the extensible nature of it for a simpler interface, while simultaneously bringing the style into line with the Ducky style.
1 package oauth2
3 // Storage interface
4 type Storage interface {
6 // GetClient loads the client by id (client_id)
7 GetClient(id string) (*Client, error)
9 // SaveAuthorize saves authorize data.
10 SaveAuthorize(*AuthorizeData) error
12 // LoadAuthorize looks up AuthorizeData by a code.
13 // Client information MUST be loaded together.
14 // Optionally can return error if expired.
15 LoadAuthorize(code string) (*AuthorizeData, error)
17 // RemoveAuthorize revokes or deletes the authorization code.
18 RemoveAuthorize(code string) error
20 // SaveAccess writes AccessData.
21 // If RefreshToken is not blank, it must save in a way that can be loaded using LoadRefresh.
22 SaveAccess(*AccessData) error
24 // LoadAccess retrieves access data by token. Client information MUST be loaded together.
25 // AuthorizeData and AccessData DON'T NEED to be loaded if not easily available.
26 // Optionally can return error if expired.
27 LoadAccess(token string) (*AccessData, error)
29 // RemoveAccess revokes or deletes an AccessData.
30 RemoveAccess(token string) error
32 // LoadRefresh retrieves refresh AccessData. Client information MUST be loaded together.
33 // AuthorizeData and AccessData DON'T NEED to be loaded if not easily available.
34 // Optionally can return error if expired.
35 LoadRefresh(token string) (*AccessData, error)
37 // RemoveRefresh revokes or deletes refresh AccessData.
38 RemoveRefresh(token string) error
39 }