OAuth 2.0 / OIDCを理解するために、自分でGoで実装してみた
ARANK

OAuth 2.0 / OIDCを理解するために、自分でGoで実装してみました。以下のハンズオンに従って実装していただくと、OAuth認可コードフローとOIDCの一連の流れの理解が深まると思います。OAuth 2.0は、ユーザーの認証情報を直接アプリに渡すことなく、外部サービスを通じて安全に認可を行うためのプロトコルです 。特にWebやモバイルアプリ開発では、認証と認可を分離しセキュアに委譲する手段として広く利用されています。OpenID Connect (OIDC)はOAuth2.0を拡張してユーザーのアイデンティティ情報を扱う仕組みで、OIDCではIDトークンと呼ばれるJWT形式のトークン(署名付き)が発行され、これによってクライアントはユーザーを識別できます。OAuth2.0単体ではユーザー個人を表すトークンは発行されませんが、OIDCではscopeにopenidを含めることで認可サーバーからIDトークンが得られる点が大きな違いです。本記事では、OAuth2.0の「認可コードフロー」(Authorization Code Grant)にOIDCの要素を加えた認可サーバーを、Go言語でライブラリに極力頼らず(JWT署名やCookie処理など最小限を除く)実装してみます。対象読者はGoでのWeb開発経験があるがOAuth/OIDCは初学者の方…

zenn.dev
Related Topics: Authentication / Authorization