@@ -228,14 +228,15 @@ def new_consumer_key_request(self):
228228 """ # noqa:E501
229229 return ConsumerKeyRequest (self )
230230
231- def request_consumerkey (self , access_rules , redirect_url = None ):
231+ def request_consumerkey (self , access_rules , redirect_url = None , allowedIPs = None ):
232232 """
233233 Create a new "consumer key" identifying this application's end user. API
234234 will return a ``consumerKey`` and a ``validationUrl``. The end user must
235235 visit the ``validationUrl``, authenticate and validate the requested
236236 ``access_rules`` to link his account to the ``consumerKey``. Once this
237237 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.
239240
240241 The new ``consumerKey`` is automatically loaded into
241242 ``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):
270271 ]
271272
272273 # 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"] )
274275
275276 print("Please visit", validation['validationUrl'], "to authenticate")
276277 input("and press Enter to continue...")
@@ -280,12 +281,19 @@ def request_consumerkey(self, access_rules, redirect_url=None):
280281
281282
282283 :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).
284286 :raises APIError: When ``self.call`` fails.
285287 :returns: dict with ``consumerKey`` and ``validationUrl`` keys
286288 :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+ )
289297 self ._consumer_key = res ["consumerKey" ]
290298 return res
291299
0 commit comments