Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Management #84

Merged
merged 10 commits into from
Nov 24, 2022
Merged

Management #84

merged 10 commits into from
Nov 24, 2022

Conversation

itaihanski
Copy link
Member

Related Issues

https://github.com/descope/etc/issues/806

Description

This PR adds management capabilities to the SDK, allowing Descopers to manage tenants, users and SSO setting in a secure fashion.

Must

  • Tests
  • Documentation (if applicable)

@shilgapira
Copy link
Member

thought about it a bit when implementing it in go-sdk, maybe we should put the mgmt namespace as a sibling of auth, rather than as its child?

@shilgapira
Copy link
Member

Great job with the docs/comments by the way

@aviadl
Copy link
Member

aviadl commented Nov 21, 2022

thought about it a bit when implementing it in go-sdk, maybe we should put the mgmt namespace as a sibling of auth, rather than as its child?

+1 on that

@itaihanski
Copy link
Member Author

thought about it a bit when implementing it in go-sdk, maybe we should put the mgmt namespace as a sibling of auth, rather than as its child?

That's what I did. What am I missing?

@github-actions
Copy link

github-actions bot commented Nov 22, 2022

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
auth.py01295%57, 411–412, 423, 466, 491–492, 509–512, 516
common.py00100% 
descope_client.py0298%268, 288
exceptions.py00100% 
mgmt.py00100% 
authmethod
   __init__.py00100% 
   magiclink.py00100% 
   oauth.py00100% 
   otp.py00100% 
   saml.py00100% 
   totp.py00100% 
   webauthn.py00100% 
management
   common.py00100% 
   sso_settings.py00100% 
   tenant.py00100% 
   user.py00100% 
TOTAL9561498% 

@shilgapira
Copy link
Member

thought about it a bit when implementing it in go-sdk, maybe we should put the mgmt namespace as a sibling of auth, rather than as its child?

That's what I did. What am I missing?

You're right, I missed that descope_client here is structured a bit differently than how we did in go-sdk. Looks like auth isn't exposed and all the objects are properties of the main descope_client rather than children of auth. Looks like we're golden™️ then.

Copy link
Contributor

@guyp-descope guyp-descope left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also add some samples, see our samples directory for reference) as this is very important (developer will probably start from there :)

Did you try to install the package and run some of these functions? Im asking as sometimes when it run from the package (actually from the installed folder) the imports behave a little bit different so just to make sure all is ok..

descope/management/tenant.py Show resolved Hide resolved
descope/management/tenant.py Show resolved Hide resolved
descope/management/user.py Outdated Show resolved Hide resolved
descope/management/user.py Outdated Show resolved Hide resolved
descope/management/user.py Show resolved Hide resolved
descope/management/user.py Outdated Show resolved Hide resolved
descope/management/sso_settings.py Show resolved Hide resolved
descope/management/sso_settings.py Outdated Show resolved Hide resolved
descope/management/common.py Show resolved Hide resolved
@itaihanski itaihanski marked this pull request as ready for review November 24, 2022 14:00
Copy link
Member

@shilgapira shilgapira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done! 👏

@guyp-descope
Copy link
Contributor

@itaihanski please dont forget to add samples

@itaihanski
Copy link
Member Author

@itaihanski please dont forget to add samples

I added them. Did you not see?

@guyp-descope
Copy link
Contributor

@itaihanski please dont forget to add samples

I added them. Did you not see?

Yea Yea, sorry my bad.

@itaihanski itaihanski merged commit f943f46 into main Nov 24, 2022
@itaihanski itaihanski deleted the management branch November 24, 2022 15:04
descope bot referenced this pull request in descope/django-descope Nov 30, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [descope](https://descope.com/)
([source](https://togithub.com/descope/python-sdk)) | dependencies |
minor | `0.2.0` -> `==0.3.0` |
| [descope](https://descope.com/)
([source](https://togithub.com/descope/python-sdk)) | | minor |
`==0.2.0` -> `==0.3.0` |

---

### Release Notes

<details>
<summary>descope/python-sdk</summary>

###
[`v0.3.0`](https://togithub.com/descope/python-sdk/releases/tag/0.3.0)

[Compare
Source](https://togithub.com/descope/python-sdk/compare/0.2.0...0.3.0)

##### What's Changed

- Change exchange to POST by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/63](https://togithub.com/descope/python-sdk/pull/63)
- Change access key and refresh session to POST by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/64](https://togithub.com/descope/python-sdk/pull/64)
- 1. adjust email_validator for the new version (disable call for dns q…
by [@&#8203;guyp-descope](https://togithub.com/guyp-descope) in
[https://github.com/descope/python-sdk/pull/65](https://togithub.com/descope/python-sdk/pull/65)
- fix: use cov xml file for result by
[@&#8203;omercnet](https://togithub.com/omercnet) in
[https://github.com/descope/python-sdk/pull/62](https://togithub.com/descope/python-sdk/pull/62)
- chore(deps): update dependency black to v22.10.0 by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/67](https://togithub.com/descope/python-sdk/pull/67)
- Extend API to support custom claims by
[@&#8203;aviadl](https://togithub.com/aviadl) in
[https://github.com/descope/python-sdk/pull/68](https://togithub.com/descope/python-sdk/pull/68)
- Change SAML start to be post by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/70](https://togithub.com/descope/python-sdk/pull/70)
- Change oauth authorize to be post by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/71](https://togithub.com/descope/python-sdk/pull/71)
- Fix oauth/saml start to be POST with query params by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/72](https://togithub.com/descope/python-sdk/pull/72)
- Add useful headers by [@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/73](https://togithub.com/descope/python-sdk/pull/73)
- Stepup take 2 by [@&#8203;aviadl](https://togithub.com/aviadl) in
[https://github.com/descope/python-sdk/pull/74](https://togithub.com/descope/python-sdk/pull/74)
- Adjust jwt response for access key with authz by
[@&#8203;guyp-descope](https://togithub.com/guyp-descope) in
[https://github.com/descope/python-sdk/pull/75](https://togithub.com/descope/python-sdk/pull/75)
- fix(deps): update dependency cryptography to v38.0.3 \[security] by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/76](https://togithub.com/descope/python-sdk/pull/76)
- fix(deps): update dependency pyjwt to v2.6.0 by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/77](https://togithub.com/descope/python-sdk/pull/77)
- chore(deps): update dependency pytest-cov to v4 by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/69](https://togithub.com/descope/python-sdk/pull/69)
- chore(deps): update dependency pytest to v7.2.0 by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/79](https://togithub.com/descope/python-sdk/pull/79)
- Add webauthn SignUpOrIn function by
[@&#8203;shilgapira](https://togithub.com/shilgapira) in
[https://github.com/descope/python-sdk/pull/80](https://togithub.com/descope/python-sdk/pull/80)
- Have both logout and logout_all as optinos by
[@&#8203;slavikm](https://togithub.com/slavikm) in
[https://github.com/descope/python-sdk/pull/81](https://togithub.com/descope/python-sdk/pull/81)
- Add MFA support by [@&#8203;aviadl](https://togithub.com/aviadl) in
[https://github.com/descope/python-sdk/pull/82](https://togithub.com/descope/python-sdk/pull/82)
- chore(deps): update dependency liccheck to v0.7.3 by
[@&#8203;descope](https://togithub.com/descope) in
[https://github.com/descope/python-sdk/pull/83](https://togithub.com/descope/python-sdk/pull/83)
- Management by [@&#8203;itaihanski](https://togithub.com/itaihanski) in
[https://github.com/descope/python-sdk/pull/84](https://togithub.com/descope/python-sdk/pull/84)
- Add issuer support as url by
[@&#8203;dorsha](https://togithub.com/dorsha) in
[https://github.com/descope/python-sdk/pull/85](https://togithub.com/descope/python-sdk/pull/85)
- Get management key from env var or config params by
[@&#8203;shilgapira](https://togithub.com/shilgapira) in
[https://github.com/descope/python-sdk/pull/87](https://togithub.com/descope/python-sdk/pull/87)
- Enchanted link support by
[@&#8203;aviadl](https://togithub.com/aviadl) in
[https://github.com/descope/python-sdk/pull/86](https://togithub.com/descope/python-sdk/pull/86)
- Ensure management key is set before passing calls to management APIs
by [@&#8203;shilgapira](https://togithub.com/shilgapira) in
[https://github.com/descope/python-sdk/pull/90](https://togithub.com/descope/python-sdk/pull/90)
- Set localhost as default base_url (instead of prod link) by
[@&#8203;guyp-descope](https://togithub.com/guyp-descope) in
[https://github.com/descope/python-sdk/pull/88](https://togithub.com/descope/python-sdk/pull/88)
- update poetry lockfile by
[@&#8203;omercnet](https://togithub.com/omercnet) in
[https://github.com/descope/python-sdk/pull/89](https://togithub.com/descope/python-sdk/pull/89)

##### New Contributors

- [@&#8203;itaihanski](https://togithub.com/itaihanski) made their first
contribution in
[https://github.com/descope/python-sdk/pull/84](https://togithub.com/descope/python-sdk/pull/84)

**Full Changelog**:
descope/python-sdk@0.2.0...0.3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click
this checkbox.

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMzguMSIsInVwZGF0ZWRJblZlciI6IjMyLjIzOC4xIn0=-->

Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants