PyCon JP 2022の登壇資料です https://www.youtube.com/watch?v=8bzKf6BwDos

PyCon JP 2022の登壇資料です https://www.youtube.com/watch?v=8bzKf6BwDos
ずいぶん長くかかりましたが[1]、JSON Web Signature (JWS)とJSON Web Token (JWT) がようやく Standard Track の RFC[2]になりました。それぞれ、[RFC7515]と[RFC7519]です。 ご存じない方のために申し上げますと、JWSはJSONにデジタル署名するための規格です。XML署名のJSON版ですね。JSONシリアライゼーションとCompactシリアライゼーションの2種類あり、Compactシリアライゼーションがあります。 JWTは、このCompactシリアライゼーションのJWSに、いくつかの有用なパラメータ名を導入して、ログイン情報やアクセス許可情報を伝達できるようにしたものです。主にRESTfulなシステムでの利用を想定していますが、もちろんそれ以外でも利用可能です。既に、GoogleもMicrosoftも大規模に実装
追記 (2018-10-08) 4年以上前に書いた記事ですが、Access Token として JWT を利用することは非推奨なようなので、お詫びして修正致します。 参考: どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? 概要 みんなやってるはずなんだけど、あまりまとまった情報がなかったので書いてみます。認証周りはセキュリティを気にして、みんな書きたがらないのかな?それとも私の調べ方が悪かっただけ?マサカリお待ちしてます。 認証の基本方針 +--------+ +--------+ | | | | | |----(1) Credential ------------>| | | | | | | |<---(2) Access Token -----------| | | | | | | Client | | Server | | | | | | |----(3)
こんばんは、ritouです。 久々の投稿な気がしますが、今回はOAuth 2.0のリソースアクセス時の設計の話です。 ずーっと前から書こうと思いつつ書いてなかったので、ここに書いておきます。 出てくる用語や仕様は、下記の翻訳リンクを参照してください。 The OAuth 2.0 Authorization Framework JSON Web Signature (JWS) 想定する環境 わりとよくある環境を想定しています。 OAuth 2.0で認可サーバーとリソースサーバーがある 認可サーバーがAccess Tokenを発行 リソースサーバーがAPIリクエストに含まれるAccess Tokenを検証する よくある実装とその悩みどころを、JSON Web Token(JSON Web Signature)により軽減できるかもという話です。 よくある実装 : Access Tokenに一見ラ
OAuthプロバイダを提供することになったとして、アクセストークンに有効期限を設けるべきかどうかについて考えたい。OAuth 2.0の仕様にはアクセストークンの期限切れに関係する仕様が定義されているし、セキュリティをより強固にするためにアクセストークンは一定期間で期限切れにするべきだという主張があったと思う (確認していないので無いかもしれない)。しかしながら、例えばGitHub API v3ではアクセストークンに有効期限を設けていない。この投稿では、アクセストークンの有効期限に関係して起こり得る問題を取り上げる。 アクセストークンに有効期限を持たせておくとちょっと安全 アクセストークンが悪意のある第三者に漏洩してしまった場合、そのアクセストークンに認可されているあらゆる操作が実行可能になってしまうという問題がまず存在する。ここでもしアクセストークンに有効期限が存在していたとすれば、その操
Oracle Blogsの主としてテクノロジー製品のエントリを日本語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d
Jersey には OAuth で認証するためのモジュールが用意されています。今回はそれを使ってみた時のメモです。内容的には JAX-RS を使ったことがあることを想定しています。 まず、あらかじめ Twitter Developers でアプリケーションを登録して Consumer Key と Secret Key を手に入れておきます。また、OAuth サービスプロバイダ (今回は Twitter) での認証後にリダイレクトしてもらう URI を登録しておきましょう。 https://dev.twitter.com/ OAuth を使うのに必要な jar は以下の 3 つ。Jersey の Web サイトや、あるいは Maven を使ってリモートリポジトリから手に入れておきます。 http://jersey.java.net/ oauth-client-{version}.jar oa
Webアプリ作っているといろんな局面でユーザー認証が必要になる局面がある。まじめにつくると果てしなく面倒だし、適当につくるとセキュリティ上問題になるので、要件に応じて適切に手抜きする必要がある。 適当なやつからしっかりしたやつまでなんとなくソートしていくとこんなかんじだと思う。 認証なし IPで弾く Basic認証(ソースコード、設定ファイルにパスワードベタ書き) Basic認証(DBにUserテーブルをつくってパスワードを保存。追加はcliとかで手動) login/logout画面作成。cookieなりmemcacheなりにセッションを保存 webからユーザーを追加できるように password変更機能 OAuth OpenID mailを送ってリンクをクリックさせてメールアドレスの所有確認 メールアドレス変更機能 メールを使ってのパスワードリセット機能 OAuthで作ったアプリへの後か
Web系技術を学ぶ上で,やはりセキュリティ周りの技術は外せません。OAuth1.0ならばTwitter APIを触っていたんですが、、いつの間に2.0に!ということで、頑張って仕様書を読みつつ自分なりにまとめてみました。 The OAuth 2.0 Protocol draft-ietf-oauth-v2-10 を参考にしています。 また、以下で特に明示されない引用部分は全て The OAuth 2.0 Protocol draft-ietf-oauth-v2-10 から引用したものとします。 更に、以下の文章は2012/12/28時点でのAriの理解をまとめたものであり、内容を保証するのはこの時点でのAriの読解力のみです。 OAuth2.0の必要性 通常、ログインが必要なサービスを利用する際はログインID/パスワードの情報が必要になります。 特定のWebサービスに必要な時にアクセスする
Create an OAuth Server A guide on creating an OAuth server, both OAuth 1 and OAuth 2, in a flavor of Flask with the help of Flask-OAuthlib. Announcement of Authlib, Authlib is going to replace Flask-OAuthlib. I've searched the whole internet on how to create an OAuth server or provider, but failed every time. Sometimes it was the language that stopped me, and sometimes it was something that didn't
Welcome to Python Social Auth’s documentation!¶ Python Social Auth aims to be an easy to setup social authentication and authorization mechanism for Python projects supporting protocols like OAuth (1 and 2), OpenId and others. The initial codebase is derived from django-social-auth with the idea of generalizing the process to suite the different frameworks around, providing the needed tools to bri
昔から、「OpenIDは認証でOAuthは認可だ」などということが言われます。しかし、その言語の意味を取り違えている方が結構多い気がしています。「もうOpenIDなんていらね。OAuthだけでいいじゃん」というような言説がよく流れてくるのがその証拠だと思います。OAuth認証というのもその類ですね。 そこで、今日はOAuthとOpenIDの違いを考えてみたいと思います。 OpenIDは紹介状、OAuthは合鍵 まずはOpenIDの概要の復習です。「OpenIDは認証」という言葉の内容をまずは復習してみましょう。 「認証」とは大変広い言葉でいろいろな場面で使われますが、「OpenIDは認証」という使い方の時は、「OpenIDは、いま来ている人の身元を認証」(ユーザ認証)という意味です。図にすると図1のような流れになります。 この例では、有栖さんがお客としてサービス提供をしているサイトである伊
Integrate 100+ OAuth providers in minutes. Setup your keys, install oauth.js, and you are ready to play !
Last week, I covered the Basics of the OAuth 2.0 Authorization Flow. Today, I will walk through how we used pyoauth2 to set up a minimal Authorization Provider for SHIFT. This post covers setting up endpoints for steps 2 and 5 from the overview. The role of the Authorization Provider is to securely generate, validate, and store authorization codes, access tokens, and refresh tokens. Routes Before
Ever had to speak to an OAuth 2.0 protected resource for debugging purposes? curl is a nice tool, but it totally lacks helpers for dealing with oauth. curlish comes for the rescue. It is able to remember access tokens for you and inject it into requests. Facebook comes preconfigured so you can start using it right away. Installation¶ Curlish is a small script written in Python without any further
Web/python/whatever developer, political junkie, runner-up "World's Best Dad"; not necessarily in that order. I’ve spent the last day and a half researching, evaluating, and testing different authentication schemes to use in our new API that we’ll be introducing in the coming weeks. I eventually decided to go with 2-legged oauth; it’s not the newest, shiniest toy in the bin, but it seems to be in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く