OpenID ファウンデーション・ジャパン

いつのまにか OpenID Connect RP を実装しつつある例(追記あり)

By tkudo | 2013年11月28日

Stack Overflow にこんなスレッドが出ていました。

I'm having a heck of a time here trying to use google OAuth to authenticate users in my node express app. I can successfully do the OAuth, which returns a response like so:

{
  access_token: 'token string',
  id_token: 'id.string',
  expires_in: 3599,
  token_type: "Bearer"
}

This all makes sense, but I can't for the life of me figure out how to decode the JWT. I am a bit inexperienced in all this, so this is all a bit foreign to me.

node.js - How can I decode a google OAuth 2.0 JWT in a node app? - Stack Overflow

内容から察するに、この質問をされている方は、自分が実装しようとしているのは「Google の OAuth を使ったユーザー認証」である、と認識しているようです。

しかし、質問者がいまやろうとしていることは、id_token の値である JWT をどうやってデコードするか? というところであり、これはすでに OAuth 2.0 クライアントの範囲を超えた、OpenID Connect のリライング・パーティを実装しようとしていることに他なりません。

こういう感じで、API 利用者がとくに意識することなく、いつのまにか OpenID Connect を実装するというのも、普及にいたるパスのひとつとしてはけっこうありそうです。

P.S. ちなみにこの質問に、Nat さんが丁寧な回答を寄せています。(さりげなく jsjws をすすめてますね ;)

※追記 (2013/11/29)

崎村さんからタレコミが:

おー、This has helped tremendously in my understanding of what I was even trying to do. とのことですね!

アーカイブ