auth
2015-04-11
Parent:8267e1c8bcd1
auth/postgres.go
Clean up sessions and tokens after Profile is deleted. Add a terminateSessionsByProfile method to our sessionStore to mark Sessions associated with a Profile as inactive. Implement memstore and postgres implementations of the terminateSessionsByProfile method. Add a TerminateSessionsByProfile wrapper method to Context. Add a revokeTokensByProfileID method to our tokenStore to mark Tokens associated with a Profile as revoked. Implement memstore and postgres implementation of the revokeTokensByProfileID method. Add a RevokeTokensByProfileID wrapper method to Context. Call our RevokeTokensByProfileID and TerminateSessionsByProfile methods after a Profile is deleted, to clean up the Tokens and Sessions associated with it.
| paddy@148 | 1 package auth |
| paddy@148 | 2 |
| paddy@148 | 3 import ( |
| paddy@148 | 4 "database/sql" |
| paddy@149 | 5 ) |
| paddy@148 | 6 |
| paddy@149 | 7 func NewPostgres(conn string) (postgres, error) { |
| paddy@149 | 8 db, err := sql.Open("postgres", conn) |
| paddy@149 | 9 if err != nil { |
| paddy@149 | 10 return postgres{}, err |
| paddy@149 | 11 } |
| paddy@149 | 12 return postgres{db: db}, nil |
| paddy@149 | 13 } |
| paddy@148 | 14 |
| paddy@148 | 15 type postgres struct { |
| paddy@148 | 16 db *sql.DB |
| paddy@148 | 17 } |