session 인터페이스 수정
This commit is contained in:
@ -67,14 +67,14 @@ func (p *provider_mongo) Delete(acc primitive.ObjectID) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *provider_mongo) Query(pk string) (*Authorization, error) {
|
||||
func (p *provider_mongo) Query(pk string) (Authorization, error) {
|
||||
sk := publickey_to_storagekey(publickey(pk))
|
||||
var auth Authorization
|
||||
err := p.mongoClient.FindOneAs(session_collection_name, bson.M{
|
||||
"key": sk,
|
||||
}, &auth)
|
||||
|
||||
return &auth, err
|
||||
return auth, err
|
||||
}
|
||||
|
||||
func (p *provider_mongo) Touch(pk string) (bool, error) {
|
||||
@ -251,28 +251,28 @@ func (c *consumer_mongo) query_internal(sk storagekey) (*sessionMongo, bool, err
|
||||
return nil, false, nil
|
||||
}
|
||||
|
||||
func (c *consumer_mongo) Query(pk string) (*Authorization, error) {
|
||||
func (c *consumer_mongo) Query(pk string) (Authorization, error) {
|
||||
c.lock.Lock()
|
||||
defer c.lock.Unlock()
|
||||
|
||||
sk := publickey_to_storagekey(publickey(pk))
|
||||
si, _, err := c.query_internal(sk)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return Authorization{}, err
|
||||
}
|
||||
|
||||
if si == nil {
|
||||
return nil, nil
|
||||
return Authorization{}, nil
|
||||
}
|
||||
|
||||
if time.Now().After(si.Ts.Time().Add(c.ttl)) {
|
||||
return nil, nil
|
||||
return Authorization{}, nil
|
||||
}
|
||||
|
||||
return si.Auth, nil
|
||||
return *si.Auth, nil
|
||||
}
|
||||
|
||||
func (c *consumer_mongo) Touch(pk string) (*Authorization, error) {
|
||||
func (c *consumer_mongo) Touch(pk string) (Authorization, error) {
|
||||
c.lock.Lock()
|
||||
defer c.lock.Unlock()
|
||||
|
||||
@ -287,21 +287,21 @@ func (c *consumer_mongo) Touch(pk string) (*Authorization, error) {
|
||||
|
||||
if err != nil {
|
||||
logger.Println("consumer Touch :", err)
|
||||
return nil, err
|
||||
return Authorization{}, err
|
||||
}
|
||||
|
||||
if !worked {
|
||||
// 이미 만료되서 사라짐
|
||||
return nil, nil
|
||||
return Authorization{}, nil
|
||||
}
|
||||
|
||||
si, added, err := c.query_internal(sk)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return Authorization{}, err
|
||||
}
|
||||
|
||||
if si == nil {
|
||||
return nil, nil
|
||||
return Authorization{}, nil
|
||||
}
|
||||
|
||||
if !added {
|
||||
@ -312,18 +312,18 @@ func (c *consumer_mongo) Touch(pk string) (*Authorization, error) {
|
||||
|
||||
if err != nil {
|
||||
logger.Println("consumer Query :", err)
|
||||
return nil, err
|
||||
return Authorization{}, err
|
||||
}
|
||||
|
||||
if len(si.Key) > 0 {
|
||||
c.add_internal(sk, &doc)
|
||||
c.ids[doc.Id] = sk
|
||||
|
||||
return doc.Auth, nil
|
||||
return *doc.Auth, nil
|
||||
}
|
||||
}
|
||||
|
||||
return si.Auth, nil
|
||||
return *si.Auth, nil
|
||||
}
|
||||
|
||||
func (c *consumer_mongo) add(sk storagekey, id primitive.ObjectID, si *sessionMongo) {
|
||||
|
||||
Reference in New Issue
Block a user