mirror of
https://github.com/gravitational/teleport
synced 2024-10-22 10:13:21 +00:00
fix logins
This commit is contained in:
parent
383ebe2858
commit
fb1ec24af6
|
@ -517,8 +517,8 @@ func (s *AuthServer) CreateOIDCAuthRequest(req services.OIDCAuthRequest) (*servi
|
|||
// OIDCAuthResponse is returned when auth server validated callback parameters
|
||||
// returned from OIDC provider
|
||||
type OIDCAuthResponse struct {
|
||||
// User is authenticated teleport user
|
||||
User services.User `json:"user"`
|
||||
// Username is authenticated teleport username
|
||||
Username string `json:"username"`
|
||||
// Web session will be generated by auth server if requested in OIDCAuthRequest
|
||||
Session *Session `json:"session,omitempty"`
|
||||
// Cert will be generated by certificate authority
|
||||
|
@ -594,8 +594,8 @@ func (a *AuthServer) ValidateOIDCAuthCallback(q url.Values) (*OIDCAuthResponse,
|
|||
}
|
||||
|
||||
response := &OIDCAuthResponse{
|
||||
User: user,
|
||||
Req: *req,
|
||||
Username: user.GetName(),
|
||||
Req: *req,
|
||||
}
|
||||
|
||||
if req.CreateWebSession {
|
||||
|
|
|
@ -723,7 +723,7 @@ func (tc *TeleportClient) Login() error {
|
|||
return trace.Wrap(err)
|
||||
}
|
||||
// in this case identity is returned by the proxy
|
||||
tc.Config.Login = response.User.GetName()
|
||||
tc.Config.Login = response.Username
|
||||
}
|
||||
|
||||
// parse the returned&signed key:
|
||||
|
|
|
@ -302,13 +302,14 @@ func (m *Handler) oidcCallback(w http.ResponseWriter, r *http.Request, p httprou
|
|||
log.Infof("oidcLogin validate: %#v", r.URL.Query())
|
||||
response, err := m.cfg.ProxyClient.ValidateOIDCAuthCallback(r.URL.Query())
|
||||
if err != nil {
|
||||
log.Infof("VALIDATE error: %v", err)
|
||||
return nil, trace.Wrap(err)
|
||||
}
|
||||
log.Infof("oidcCallback got response: %v", response)
|
||||
// if we created web session, set session cookie and redirect to original url
|
||||
if response.Req.CreateWebSession {
|
||||
log.Infof("oidcCallback redirecting to web browser")
|
||||
if err := SetSession(w, response.User.GetName(), response.Session.ID); err != nil {
|
||||
if err := SetSession(w, response.Username, response.Session.ID); err != nil {
|
||||
return nil, trace.Wrap(err)
|
||||
}
|
||||
http.Redirect(w, r, response.Req.ClientRedirectURL, http.StatusFound)
|
||||
|
@ -323,7 +324,7 @@ func (m *Handler) oidcCallback(w http.ResponseWriter, r *http.Request, p httprou
|
|||
return nil, trace.Wrap(err)
|
||||
}
|
||||
consoleResponse := SSHLoginResponse{
|
||||
User: response.User,
|
||||
Username: response.Username,
|
||||
Cert: response.Cert,
|
||||
HostSigners: response.HostSigners,
|
||||
}
|
||||
|
@ -1055,7 +1056,7 @@ type createSSHCertReq struct {
|
|||
// SSHLoginResponse is a response returned by web proxy
|
||||
type SSHLoginResponse struct {
|
||||
// User contains a logged in user informationn
|
||||
User services.User `json:"user"`
|
||||
Username string `json:"username"`
|
||||
// Cert is a signed certificate
|
||||
Cert []byte `json:"cert"`
|
||||
// HostSigners is a list of signing host public keys
|
||||
|
|
Loading…
Reference in a new issue