2727 opt_audience ,
2828 opt_client_id ,
2929 opt_client_secret ,
30+ opt_extra ,
3031 opt_human_readable ,
3132 opt_open_browser ,
3233 opt_organization ,
@@ -77,8 +78,9 @@ def cmd_oauth(ctx):
7778@opt_client_secret
7879@opt_sops
7980@opt_yes_no
81+ @opt_extra
8082@click .pass_context
81- @recast_exceptions_to_click (AuthException )
83+ @recast_exceptions_to_click (AuthException , ValueError )
8284def cmd_oauth_login (
8385 ctx ,
8486 scope ,
@@ -93,18 +95,23 @@ def cmd_oauth_login(
9395 sops ,
9496 yes ,
9597 project ,
98+ extra ,
9699):
97100 """
98101 Perform an initial login using OAuth.
99102 """
100- extra = {}
103+ login_extra = {}
104+ if extra :
105+ for extra_opt in extra :
106+ key , value = extra_opt .split ("=" , 1 )
107+ login_extra [key ] = value
101108 if project :
102109 # Planet Labs OAuth extension to request a token for a particular project
103- extra ["project_id" ] = project
110+ login_extra ["project_id" ] = project
104111 if organization :
105112 # Used by Auth0's OAuth implementation to support their concept of selecting
106113 # a particular organization at login when the user belongs to more than one.
107- extra ["organization" ] = organization
114+ login_extra ["organization" ] = organization
108115
109116 current_auth_context = ctx .obj ["AUTH" ]
110117 current_auth_context .login (
@@ -117,7 +124,7 @@ def cmd_oauth_login(
117124 password = password ,
118125 client_id = auth_client_id ,
119126 client_secret = auth_client_secret ,
120- extra = extra ,
127+ extra = login_extra ,
121128 )
122129 print ("Login succeeded." ) # Errors should throw.
123130 post_login_cmd_helper (override_auth_context = current_auth_context , use_sops = sops , prompt_pre_selection = yes )
0 commit comments