@@ -1158,13 +1158,86 @@ func (r *httpRoutes) CreateAuth0Connector(ctx echo.Context) error {
11581158 r .logger .Error ("failed to create connector" , zap .Error (err ))
11591159 return echo .NewHTTPError (http .StatusBadRequest , "failed to create connector" )
11601160 }
1161+ publicUris := req .PublickURIS
1162+ publicClientResp , _ := dexClient .GetClient (context .TODO (), & dexApi.GetClientReq {
1163+ Id : "public-client" ,
1164+ })
1165+
1166+ r .logger .Info ("public URIS" , zap .Any ("uris" , publicUris ))
1167+
1168+ if publicClientResp != nil && publicClientResp .Client != nil {
1169+ publicClientReq := dexApi.UpdateClientReq {
1170+ Id : "public-client" ,
1171+ Name : "Public Client" ,
1172+ RedirectUris : publicUris ,
1173+ }
1174+
1175+ _ , err = dexClient .UpdateClient (context .TODO (), & publicClientReq )
1176+ if err != nil {
1177+ r .logger .Error ("Auth Migrator: failed to create dex public client" , zap .Error (err ))
1178+ return err
1179+ }
1180+ } else {
1181+ publicClientReq := dexApi.CreateClientReq {
1182+ Client : & dexApi.Client {
1183+ Id : "public-client" ,
1184+ Name : "Public Client" ,
1185+ RedirectUris : publicUris ,
1186+ Public : true ,
1187+ },
1188+ }
1189+
1190+ _ , err = dexClient .CreateClient (context .TODO (), & publicClientReq )
1191+ if err != nil {
1192+ r .logger .Error ("Auth Migrator: failed to create dex public client" , zap .Error (err ))
1193+ return err
1194+ }
1195+ }
1196+ privateUris := req .PrivateURIS
1197+
1198+ r .logger .Info ("private URIS" , zap .Any ("uris" , privateUris ))
1199+
1200+ privateClientResp , _ := dexClient .GetClient (context .TODO (), & dexApi.GetClientReq {
1201+ Id : "private-client" ,
1202+ })
1203+ if privateClientResp != nil && privateClientResp .Client != nil {
1204+ privateClientReq := dexApi.UpdateClientReq {
1205+ Id : "private-client" ,
1206+ Name : "Private Client" ,
1207+ RedirectUris : privateUris ,
1208+ }
1209+
1210+ _ , err = dexClient .UpdateClient (context .TODO (), & privateClientReq )
1211+ if err != nil {
1212+ r .logger .Error ("Auth Migrator: failed to create dex private client" , zap .Error (err ))
1213+ return err
1214+ }
1215+ } else {
1216+ privateClientReq := dexApi.CreateClientReq {
1217+ Client : & dexApi.Client {
1218+ Id : "private-client" ,
1219+ Name : "Private Client" ,
1220+ RedirectUris : privateUris ,
1221+ Secret : "secret" ,
1222+ },
1223+ }
1224+
1225+ _ , err = dexClient .CreateClient (context .TODO (), & privateClientReq )
1226+ if err != nil {
1227+ r .logger .Error ("Auth Migrator: failed to create dex private client" , zap .Error (err ))
1228+ return err
1229+ }
1230+ }
1231+
11611232 // restart dex pod on connector creation
11621233 err = utils .RestartDexPod ()
11631234 if err != nil {
11641235 r .logger .Error ("failed to restart dex pod" , zap .Error (err ))
11651236 return echo .NewHTTPError (http .StatusBadRequest , "failed to restart dex pod" )
11661237 }
11671238
1239+
1240+
11681241 return ctx .JSON (http .StatusCreated , res )
11691242}
11701243
0 commit comments