Skip to content

Commit 99cf16d

Browse files
authored
Merge pull request #196 from lishimeng/master
add ResponseTokenHandler when respose token to the browser
2 parents 8496036 + 0fd65b0 commit 99cf16d

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

server/handler.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ type (
4444

4545
// ExtensionFieldsHandler in response to the access token with the extension of the field
4646
ExtensionFieldsHandler func(ti oauth2.TokenInfo) (fieldsValue map[string]interface{})
47+
48+
// ResponseTokenHandler response token handing
49+
ResponseTokenHandler func(w http.ResponseWriter, data map[string]interface{}, header http.Header, statusCode ...int) error
4750
)
4851

4952
// ClientFormHandler get client data from form

server/server.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ type Server struct {
5454
ExtensionFieldsHandler ExtensionFieldsHandler
5555
AccessTokenExpHandler AccessTokenExpHandler
5656
AuthorizeScopeHandler AuthorizeScopeHandler
57+
ResponseTokenHandler ResponseTokenHandler
5758
}
5859

5960
func (s *Server) redirectError(w http.ResponseWriter, req *AuthorizeRequest, err error) error {
@@ -81,6 +82,9 @@ func (s *Server) tokenError(w http.ResponseWriter, err error) error {
8182
}
8283

8384
func (s *Server) token(w http.ResponseWriter, data map[string]interface{}, header http.Header, statusCode ...int) error {
85+
if fn := s.ResponseTokenHandler; fn != nil {
86+
return fn(w, data, header, statusCode...)
87+
}
8488
w.Header().Set("Content-Type", "application/json;charset=UTF-8")
8589
w.Header().Set("Cache-Control", "no-store")
8690
w.Header().Set("Pragma", "no-cache")

server/server_config.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,8 @@ func (s *Server) SetAccessTokenExpHandler(handler AccessTokenExpHandler) {
8484
func (s *Server) SetAuthorizeScopeHandler(handler AuthorizeScopeHandler) {
8585
s.AuthorizeScopeHandler = handler
8686
}
87+
88+
// SetResponseTokenHandler response token handing
89+
func (s *Server) SetResponseTokenHandler(handler ResponseTokenHandler) {
90+
s.ResponseTokenHandler = handler
91+
}

0 commit comments

Comments
 (0)