MCPcopy Create free account
hub / github.com/auth0/auth0-cli / appsSessionTransferUpdateCmd

Function appsSessionTransferUpdateCmd

internal/cli/apps.go:1212–1307  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

1210}
1211
1212func appsSessionTransferUpdateCmd(cli *cli) *cobra.Command {
1213 var inputs struct {
1214 ID string
1215 CanCreateToken bool
1216 AllowedAuthMethods []string
1217 EnforceDeviceBinding string
1218 }
1219
1220 cmd := &cobra.Command{
1221 Use: "update",
1222 Args: cobra.MaximumNArgs(1),
1223 Short: "Update session transfer settings for an app",
1224 Example: ` auth0 apps session-transfer update
1225 auth0 apps session-transfer update <app-id>
1226 auth0 apps session-transfer update <app-id> --can-create-token --json
1227 auth0 apps session-transfer update <app-id> --can-create-token=true --allowed-auth-methods=cookie,query --enforce-device-binding=ip`,
1228 RunE: func(cmd *cobra.Command, args []string) error {
1229 if len(args) == 0 {
1230 err := appID.Pick(cmd, &inputs.ID, cli.appPickerOptions())
1231 if err != nil {
1232 return err
1233 }
1234 } else {
1235 inputs.ID = args[0]
1236 }
1237
1238 var (
1239 current *management.Client
1240 st management.SessionTransfer
1241 )
1242
1243 if err := ansi.Waiting(func() (err error) {
1244 current, err = cli.api.Client.Read(cmd.Context(), inputs.ID)
1245 return err
1246 }); err != nil {
1247 return fmt.Errorf("failed to find application with ID %q: %w", inputs.ID, err)
1248 }
1249
1250 if current.SessionTransfer == nil {
1251 current.SessionTransfer = &management.SessionTransfer{
1252 CanCreateSessionTransferToken: auth0.Bool(false),
1253 AllowedAuthenticationMethods: &[]string{},
1254 EnforceDeviceBinding: auth0.String("ip"),
1255 }
1256 }
1257
1258 if err := appSTCanCreateToken.AskBoolU(cmd, &inputs.CanCreateToken, current.SessionTransfer.CanCreateSessionTransferToken); err != nil {
1259 return err
1260 }
1261
1262 defaultVal := stringSliceToCommaSeparatedString(current.SessionTransfer.GetAllowedAuthenticationMethods())
1263 if err := appSTAllowedAuthMethods.AskManyU(cmd, &inputs.AllowedAuthMethods, &defaultVal); err != nil {
1264 return err
1265 }
1266
1267 if err := appSTEnforceDeviceBinding.SelectU(cmd, &inputs.EnforceDeviceBinding, []string{"none", "ip", "asn"}, current.SessionTransfer.EnforceDeviceBinding); err != nil {
1268 return err
1269 }

Callers 1

appsSessionTransferCmdFunction · 0.85

Calls 15

WaitingFunction · 0.92
noLocalFlagSetFunction · 0.85
appPickerOptionsMethod · 0.80
ErrorfMethod · 0.80
AskBoolUMethod · 0.80
AskManyUMethod · 0.80
SelectUMethod · 0.80
IsSetMethod · 0.80
SessionTransferUpdateMethod · 0.80
RegisterBoolUMethod · 0.80
RegisterStringSliceUMethod · 0.80
RegisterStringUMethod · 0.80

Tested by

no test coverage detected