diff options
| author | 2024-06-07 16:21:57 +0200 | |
|---|---|---|
| committer | 2024-06-07 15:21:57 +0100 | |
| commit | ce3b8aacf73b841887f3eec631851d086a7578f1 (patch) | |
| tree | 3c0ab7a93ffddc952e39c33140414106019e39e8 /internal/api/client | |
| parent | [chore] Update WASM go-sqlite3 to v0.16.1 (#2976) (diff) | |
| download | gotosocial-ce3b8aacf73b841887f3eec631851d086a7578f1.tar.xz | |
[chore] Warn about email/password change when using OIDC (#2975)
* [chore] Warn about email/password change when using OIDC
* go fmt
Diffstat (limited to 'internal/api/client')
| -rw-r--r-- | internal/api/client/user/passwordchange.go | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/api/client/user/passwordchange.go b/internal/api/client/user/passwordchange.go index c2928e9e5..df9f5b0c8 100644 --- a/internal/api/client/user/passwordchange.go +++ b/internal/api/client/user/passwordchange.go @@ -24,10 +24,13 @@ import (  	"github.com/gin-gonic/gin"  	apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"  	apiutil "github.com/superseriousbusiness/gotosocial/internal/api/util" +	"github.com/superseriousbusiness/gotosocial/internal/config"  	"github.com/superseriousbusiness/gotosocial/internal/gtserror"  	"github.com/superseriousbusiness/gotosocial/internal/oauth"  ) +const OIDCPasswordHelp = "password change request cannot be processed by GoToSocial as this instance is running with OIDC enabled; you must change password using your OIDC provider" +  // PasswordChangePOSTHandler swagger:operation POST /api/v1/user/password_change userPasswordChange  //  // Change the password of authenticated user. @@ -62,6 +65,8 @@ import (  //			description: forbidden  //		'406':  //			description: not acceptable +//		'422': +//			description: unprocessable request because instance is running with OIDC backend  //		'500':  //			description: internal error  func (m *Module) PasswordChangePOSTHandler(c *gin.Context) { @@ -76,6 +81,12 @@ func (m *Module) PasswordChangePOSTHandler(c *gin.Context) {  		return  	} +	if config.GetOIDCEnabled() { +		err := errors.New("instance running with OIDC") +		apiutil.ErrorHandler(c, gtserror.NewErrorUnprocessableEntity(err, OIDCPasswordHelp), m.processor.InstanceGetV1) +		return +	} +  	form := &apimodel.PasswordChangeRequest{}  	if err := c.ShouldBind(form); err != nil {  		apiutil.ErrorHandler(c, gtserror.NewErrorBadRequest(err, err.Error()), m.processor.InstanceGetV1)  | 
