ホームページ >バックエンド開発 >Python チュートリアル >PropelAuth Python のリリース
本日、基本 Python ライブラリの新しいバージョンと、FastAPI、Flask、および Django Rest Framework のフレームワーク固有のライブラリのリリースをリリースできることを嬉しく思います。
大きな変更点をいくつか見てみましょう!
これまでに Python ライブラリを使用したことがある場合は、タイプ ヒントにはまだ不十分な点がたくさんあると思います。最新のリリースでは、すべてのリクエストのタイプヒントとすべてのレスポンスのデータタイプが追加されました。
注: これは、応答で以前に (** 演算子を使用して) 解凍していた場合に特に問題が発生します。応答は以前は辞書でしたが、現在は明示的なデータ型です。
キー検索などの一般的に使用される関数を実装しました (response["user_id"] は引き続き機能しますが、現在は response.user_id が優先されます)。私たちは通常、重大な変更を避けるように努めていますが (これは 3 年間で 2 回目です)、これはかなり狭い問題のように感じました。
アクセス許可のチェックを簡単にするために、次のような User オブジェクトで関数を直接呼び出すことができるようになりました。
これらにより、Auth オブジェクトを参照する代わりに User オブジェクトを渡すことができ、モック/テストも簡単になります。
これは私たちの Python ライブラリに固有のものではありませんが、次のような多くの新しい API をリリースしました。
完全なリストについては、こちらのリファレンス ドキュメントをご覧ください。
PropelAuth では、幸運なことに、多くの B2B SaaS 企業の成長を最前列で見てきました。認証プロバイダーは、企業の歴史の重要な瞬間 (最初の立ち上げ、最初の顧客のオンボーディング、最初の企業顧客のクロージングなど) で最も重要になります。あなたの成長に合わせて私たちができる最も重要なことは、邪魔をしないことです。
だからこそ、私たちはこの FastAPI ルートに本当に満足しています:
@app.post("/api/expensive-action") async def do_expensive_action(user: User = Depends(auth.require_user)): org = user.get_active_org() if org == None or \ not org.user_has_permission("can_do_expensive_action"): raise HTTPException(status_code=403, detail="Forbidden") return do_expensive_action_inner(user, org)
一見すると、これは非常に単純なルートのように見えますが、いくつかの重要な部分があります:
@app.post("/api/expensive-action") async def do_expensive_action(user: User = Depends(auth.require_user)): org = user.get_active_org() if org == None or \ not org.user_has_permission("can_do_expensive_action"): raise HTTPException(status_code=403, detail="Forbidden") return do_expensive_action_inner(user, org)
そして一番いいところは?上記と同じコード スニペットは引き続き機能します。顧客の要件が複雑になっても、コードは複雑になりません。
私たちは、皆様からのフィードバックに基づいてライブラリとサービスの改善に常に努めています。このリリースに関するご質問や将来の改善に関するご提案がございましたら、お気軽にお問い合わせください。
以上がPropelAuth Python のリリースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。