@@ -228,14 +228,15 @@ def new_consumer_key_request(self):
228
228
""" # noqa:E501
229
229
return ConsumerKeyRequest (self )
230
230
231
- def request_consumerkey (self , access_rules , redirect_url = None ):
231
+ def request_consumerkey (self , access_rules , redirect_url = None , allowedIPs = None ):
232
232
"""
233
233
Create a new "consumer key" identifying this application's end user. API
234
234
will return a ``consumerKey`` and a ``validationUrl``. The end user must
235
235
visit the ``validationUrl``, authenticate and validate the requested
236
236
``access_rules`` to link his account to the ``consumerKey``. Once this
237
237
is done, he may optionally be redirected to ``redirect_url`` and the
238
- application can start using the ``consumerKey``.
238
+ application can start using the ``consumerKey``. If adding an ``allowedIPs``
239
+ parameter, the generated credentials will only be usable from these IPs.
239
240
240
241
The new ``consumerKey`` is automatically loaded into
241
242
``self._consumer_key`` and is ready to used as soon as validated.
@@ -270,7 +271,7 @@ def request_consumerkey(self, access_rules, redirect_url=None):
270
271
]
271
272
272
273
# Request token
273
- validation = client.request_consumerkey(access_rules)
274
+ validation = client.request_consumerkey(access_rules, redirect_url="https://optional-redirect-url.example.org", allowedIPs=["127.0.0.1/32"] )
274
275
275
276
print("Please visit", validation['validationUrl'], "to authenticate")
276
277
input("and press Enter to continue...")
@@ -280,12 +281,19 @@ def request_consumerkey(self, access_rules, redirect_url=None):
280
281
281
282
282
283
:param list access_rules: Mapping specifying requested privileges.
283
- :param str redirect_url: Where to redirect end user upon validation.
284
+ :param str redirect_url: Where to redirect end user upon validation (optional).
285
+ :param list allowedIPs: CIDRs that will be allowed to use these credentials (optional).
284
286
:raises APIError: When ``self.call`` fails.
285
287
:returns: dict with ``consumerKey`` and ``validationUrl`` keys
286
288
:rtype: dict
287
- """
288
- res = self .post ("/auth/credential" , _need_auth = False , accessRules = access_rules , redirection = redirect_url )
289
+ """ # noqa:E501
290
+ res = self .post (
291
+ "/auth/credential" ,
292
+ _need_auth = False ,
293
+ accessRules = access_rules ,
294
+ redirection = redirect_url ,
295
+ allowedIPs = allowedIPs ,
296
+ )
289
297
self ._consumer_key = res ["consumerKey" ]
290
298
return res
291
299
0 commit comments