diff --git a/oauth/provider/models.go b/oauth/provider/models.go index c82e0a7..aec80d0 100644 --- a/oauth/provider/models.go +++ b/oauth/provider/models.go @@ -65,6 +65,7 @@ type OauthToken struct { Code string `gorm:"index"` Token string `gorm:"uniqueIndex"` RefreshToken string `gorm:"uniqueIndex"` + Ip string } type OauthAuthorizationRequest struct { @@ -78,4 +79,5 @@ type OauthAuthorizationRequest struct { Sub *string Code *string Accepted *bool + Ip string } diff --git a/server/handle_account.go b/server/handle_account.go index 611d4ea..bc3f05f 100644 --- a/server/handle_account.go +++ b/server/handle_account.go @@ -44,6 +44,7 @@ func (s *Server) handleAccount(e echo.Context) error { "UpdatedAt": t.CreatedAt.Format("02 Jan 06 15:04 MST"), "ExpiresAt": t.CreatedAt.Format("02 Jan 06 15:04 MST"), "Token": t.Token, + "Ip": t.Ip, }) } diff --git a/server/handle_oauth_authorize.go b/server/handle_oauth_authorize.go index b2232bf..05495db 100644 --- a/server/handle_oauth_authorize.go +++ b/server/handle_oauth_authorize.go @@ -113,7 +113,7 @@ func (s *Server) handleOauthAuthorizePost(e echo.Context) error { code := oauth.GenerateCode() - if err := s.db.Exec("UPDATE oauth_authorization_requests SET sub = ?, code = ?, accepted = ? WHERE request_id = ?", nil, repo.Repo.Did, code, true, reqId).Error; err != nil { + if err := s.db.Exec("UPDATE oauth_authorization_requests SET sub = ?, code = ?, accepted = ?, ip = ? WHERE request_id = ?", nil, repo.Repo.Did, code, true, e.RealIP(), reqId).Error; err != nil { s.logger.Error("error updating authorization request", "error", err) return helpers.ServerError(e, nil) } diff --git a/server/handle_oauth_token.go b/server/handle_oauth_token.go index 3b68c93..718bd16 100644 --- a/server/handle_oauth_token.go +++ b/server/handle_oauth_token.go @@ -157,6 +157,7 @@ func (s *Server) handleOauthToken(e echo.Context) error { Code: *authReq.Code, Token: accessString, RefreshToken: refreshToken, + Ip: authReq.Ip, }, nil).Error; err != nil { s.logger.Error("error creating token in db", "error", err) return helpers.ServerError(e, nil) diff --git a/server/templates/account.html b/server/templates/account.html index b3ccfae..52dcf68 100644 --- a/server/templates/account.html +++ b/server/templates/account.html @@ -28,6 +28,7 @@

Created: {{ .CreatedAt }}

Updated: {{ .UpdatedAt }}

Expires: {{ .ExpiresAt }}

+

IP Address: {{ .Ip }}