okta / okta-sdk-python

Apache License 2.0
228 stars 144 forks source link

Listing factors fails if a claims_provider factor is encountered. #311

Open kevinklitzke opened 1 year ago

kevinklitzke commented 1 year ago

Currently if you try to list factors either using list_supported_factors or list_factors, if you encounter a claims_provider factor the API call fails with a "KeyError('claims_provider')" error.

No factors are returned and callers are unable to work around this without going directly to the underlying API calls. This is happening because the user factors model's haven't been updated to support / include or even ignore claims_provider factors that can be enabled in an Identity Engine Org.

bretterer commented 1 year ago

Can you confirm if this is still an issue for you in 2.9.0?

cizo2000 commented 1 year ago

There is similar issue with Identity Engine and enabled FastPass for OKTA. SDK is not able to list factors because there is new factor type 'signed_nonce' added and related factor model is missing.

csanders-git commented 9 months ago

can confirm this issue appears on 2.9.3

factors, resp, err = await okta_client.list_supported_factors(user_id)

(Pdb) err
KeyError('claims_provider')
waffleoffagus commented 6 months ago

Confirming still an error on 2.9.3 as well with signed_nonce, looks like it was added to FactorType (https://github.com/okta/okta-sdk-python/blob/master/okta/models/factor_type.py#L37) just not added downstream yet (https://github.com/okta/okta-sdk-python/blob/master/okta/constants.py#L58).

Any updates for when this will potentially be fixed?

ekm-detexian commented 1 month ago

I can confirm this is still an issue on 2.9.6 with the Fastpass / signed_nonce type factor.

While there is a enum value for SIGNED_NONCE in FactorType here there is no entry in the Type to Model map in constants.py, nor is there a model for the type to map to.

bryanapellanes-okta commented 1 month ago

@ekm-detexian Thanks for re-confirming and thank you for your patience. I've entered an internal ticket for prioritization and tracking.

OKTA-732840

bryanapellanes-okta commented 1 month ago

@cizo2000 @csanders-git @waffleoffagus See previous comment, fyi.