57 lignes
1,1 Kio
Go
57 lignes
1,1 Kio
Go
|
package fosite
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func NewAccessResponse() *AccessResponse {
|
||
|
return &AccessResponse{
|
||
|
Extra: map[string]interface{}{},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type AccessResponse struct {
|
||
|
Extra map[string]interface{}
|
||
|
AccessToken string
|
||
|
TokenType string
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) SetScopes(scopes Arguments) {
|
||
|
a.SetExtra("scope", strings.Join(scopes, " "))
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) SetExpiresIn(expiresIn time.Duration) {
|
||
|
a.SetExtra("expires_in", int64(expiresIn/time.Second))
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) SetExtra(key string, value interface{}) {
|
||
|
a.Extra[key] = value
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) GetExtra(key string) interface{} {
|
||
|
return a.Extra[key]
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) SetAccessToken(token string) {
|
||
|
a.AccessToken = token
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) SetTokenType(name string) {
|
||
|
a.TokenType = name
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) GetAccessToken() string {
|
||
|
return a.AccessToken
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) GetTokenType() string {
|
||
|
return a.TokenType
|
||
|
}
|
||
|
|
||
|
func (a *AccessResponse) ToMap() map[string]interface{} {
|
||
|
a.Extra["access_token"] = a.GetAccessToken()
|
||
|
a.Extra["token_type"] = a.GetTokenType()
|
||
|
return a.Extra
|
||
|
}
|