※ 引述《chan15 (ChaN)》之铭言:
: http://goo.gl/n8V0TL
: Google 在 4/20 要取消 open_id 的登入,先前同事使用 http://goo.gl/xhrchj 这个套件
: 取得 Google 返回来的 open_id id 当作登入依据,Google 取消 open_id 登入
: 但有提供 open_id id 的 mapping 方式可以使用,我做了网站上面所有步骤拿到了 open_id
: http://api.goldengame.com.tw/open-id/fantasy
: 但我发现跟之前使用 open-id 套件拿到的 id 不一样,后来换了一组 client id
: 发现 open_id id 会因为 client id 不同而不同,但原先的 open_id 套件根本不用
: client id 跟 client secret 就可以取得 open_id
: https://github.com/openid/php-openid
: 如果无法抓到同一组 open_id,这个 mapping 的意义在哪 @@"
我没接过 OpenID,不过以这个说明为准的话
https://developers.google.com/identity/protocols/OpenID2Migration
Google 要你做的事情应该是
- 把认证方式从 OpenID 2.0 改成 OpenID Connect(这取名 Sense 不太好...)
- 乍看似乎跟 OAuth 一样...
- 把 User 的登入 Token 从 OpenID 2.0 用的换成 OpenID Connect/OAuth 2.0 用的
也就是说,不应该继续用同一组 token,而是该换成新的 token 走新的登入路线
不确定 openid/php-openid 还能不能用,看 commit 历史这个套件差不多是停滞了
https://github.com/openid/php-openid/commits/master
看起来大概是得要
- 接 Google 包好的 Google Sign-in
- https://developers.google.com/identity/sign-in/web/
- 用 Oauth 2 自己接登入