session

package
v0.0.0-...-72324ba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2015 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MaxHistory = 5

過去に選択されたアカウントをいくつまで記憶するか。 最後に選択されたアカウントも含む。

Functions

This section is empty.

Types

type Account

type Account struct {
	// contains filtered or unexported fields
}

セッションに付属させるアカウント情報。

func NewAccount

func NewAccount(id, name string) *Account

func (*Account) Id

func (this *Account) Id() string

ID を返す。

func (*Account) LoggedIn

func (this *Account) LoggedIn() bool

ログインしているかどうか。

func (*Account) Login

func (this *Account) Login()

ログインしたことを反映させる。

func (*Account) LoginDate

func (this *Account) LoginDate() time.Time

ログイン日時を返す。

func (*Account) MarshalJSON

func (this *Account) MarshalJSON() (data []byte, err error)
{
    "id": <ID>,
    "username": <ログイン名>,
    "login_date: <ログイン日時>
}

func (*Account) Name

func (this *Account) Name() string

ログイン名を返す。

func (*Account) New

func (this *Account) New() *Account

設定を引き継いだアカウント情報を作成する。

func (*Account) UnmarshalJSON

func (this *Account) UnmarshalJSON(data []byte) error

type Db

type Db interface {
	// 取得。
	Get(id string) (*Element, error)

	// 保存。
	// exp: 保存期限。この期間以降は Get できなくて良い。
	Save(elem *Element, exp time.Time) error
}

セッションの格納庫。

func NewMemoryDb

func NewMemoryDb() Db

func NewRedisDb

func NewRedisDb(pool *redis.Pool, tag string) Db

redis によるセッションの格納庫。

type Element

type Element struct {
	// contains filtered or unexported fields
}

セッション。

func New

func New(id string, exp time.Time) *Element

func (*Element) Account

func (this *Element) Account() *Account

最後に選択されたアカウントを返す。

func (*Element) Clear

func (this *Element) Clear()

一時データを消す。

func (*Element) Expires

func (this *Element) Expires() time.Time

有効期限を返す。

func (*Element) Id

func (this *Element) Id() string

ID を返す。

func (*Element) Language

func (this *Element) Language() string

最後に選択された表示言語を返す。

func (*Element) MarshalJSON

func (this *Element) MarshalJSON() (data []byte, err error)
{
    "id": <ID>,
    "expires": <有効期限>,
    "account": <主アカウント>,
    "request": <リクエスト内容>,
    "ticket": <チケット>,
    "past_accounts": [
        <既ログインアカウント>,
        ...
    ],
    "locale": <表示言語>
}

func (*Element) New

func (this *Element) New(id string, exp time.Time) *Element

履歴を引き継いだセッションを作成する。

func (*Element) Request

func (this *Element) Request() *Request

現在のリクエスト内容を返す。

func (*Element) Saved

func (this *Element) Saved() bool

読み込まれたセッションかどうか。

func (*Element) SelectAccount

func (this *Element) SelectAccount(acnt *Account)

アカウントが選択されたことを反映させる。

func (*Element) SelectedAccounts

func (this *Element) SelectedAccounts() []*Account

過去に選択されたアカウントを返す。

func (*Element) SetLanguage

func (this *Element) SetLanguage(lang string)

表示言語を保存する。

func (*Element) SetRequest

func (this *Element) SetRequest(req *Request)

リクエスト内容を保存する。

func (*Element) SetTicket

func (this *Element) SetTicket(tic *ticket.Ticket)

チケットを保存する。

func (*Element) Ticket

func (this *Element) Ticket() *ticket.Ticket

現在発行されているチケットを返す。

func (*Element) UnmarshalJSON

func (this *Element) UnmarshalJSON(data []byte) error

type Request

type Request struct {
	// contains filtered or unexported fields
}

セッションに付属させる認証リクエスト。

func ParseRequest

func ParseRequest(r *http.Request) (req *Request, err error)

途中で失敗したら error と共にそこまでの結果も返す。

func (*Request) Claims

func (this *Request) Claims() *claims.Request

claims を返す。

func (*Request) Display

func (this *Request) Display() string

display を返す。

func (*Request) IdTokenHint

func (this *Request) IdTokenHint() string

id_token_hint を返す。

func (*Request) Languages

func (this *Request) Languages() []string

ui_locales を返す。

func (*Request) MarshalJSON

func (this *Request) MarshalJSON() (data []byte, err error)

func (*Request) MaxAge

func (this *Request) MaxAge() time.Duration

max_age を返す。 未設定なら負値。

func (*Request) Nonce

func (this *Request) Nonce() string

nonc を返す。

func (*Request) ParseRequest

func (this *Request) ParseRequest(req []byte, selfKeys, taKeys []jwk.Key) (err error)

requst や request_uri から取得したリクエストオブジェクトから読み込む。

func (*Request) Prompt

func (this *Request) Prompt() map[string]bool

prompt を返す。

func (*Request) RedirectUri

func (this *Request) RedirectUri() string

redirect_uri を返す。

func (*Request) Request

func (this *Request) Request() []byte

request を返す。

func (*Request) RequestUri

func (this *Request) RequestUri() string

request_uri を返す。

func (*Request) ResponseType

func (this *Request) ResponseType() map[string]bool

response_type を返す。

func (*Request) Scope

func (this *Request) Scope() map[string]bool

scope を返す。

func (*Request) State

func (this *Request) State() string

state を返す。

func (*Request) Ta

func (this *Request) Ta() string

client_id を返す。

func (*Request) UnmarshalJSON

func (this *Request) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL