@@ -113,12 +113,28 @@ func (api *API) InitUser() {
|
||||
api.BaseRoutes.Users.Handle("/trigger-notify-admin-posts", api.APISessionRequired(handleTriggerNotifyAdminPosts)).Methods(http.MethodPost)
|
||||
}
|
||||
|
||||
// loginSSOCodeExchange exchanges a short-lived login_code for session tokens (mobile SAML code exchange)
|
||||
// loginSSOCodeExchange exchanges a short-lived login_code for session tokens.
|
||||
//
|
||||
// Deprecated: This endpoint is deprecated and will be removed in a future release.
|
||||
// Mobile clients should use the direct SSO callback flow instead.
|
||||
func loginSSOCodeExchange(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
// Set deprecation headers to inform clients
|
||||
w.Header().Set("Deprecation", "true")
|
||||
|
||||
if !c.App.Config().FeatureFlags.MobileSSOCodeExchange {
|
||||
c.Err = model.NewAppError("loginSSOCodeExchange", "api.oauth.get_access_token.bad_request.app_error", nil, "feature disabled", http.StatusBadRequest)
|
||||
c.Logger.Warn("Deprecated endpoint called",
|
||||
mlog.String("endpoint", "/login/sso/code-exchange"),
|
||||
mlog.String("status", "disabled"),
|
||||
)
|
||||
c.Err = model.NewAppError("loginSSOCodeExchange", "api.user.login_sso_code_exchange.deprecated.app_error", nil, "", http.StatusGone)
|
||||
return
|
||||
}
|
||||
|
||||
c.Logger.Warn("Deprecated endpoint called",
|
||||
mlog.String("endpoint", "/login/sso/code-exchange"),
|
||||
mlog.String("status", "enabled but deprecated"),
|
||||
)
|
||||
|
||||
props := model.MapFromJSON(r.Body)
|
||||
loginCode := props["login_code"]
|
||||
codeVerifier := props["code_verifier"]
|
||||
|
||||
Ссылка в новой задаче
Block a user