[PHP] OPENID CONNECT #4 程式下載及安裝

URL Link //n.sfs.tw/10934

2017-03-23 11:17:53 By Axer

這篇撰寫安裝的方式。

範例下載

git下載的檔案和目錄:

./oidc_OPENIDconnect_examples
├── doc
├── example
│   └── php
│       ├── callback.php    OP回傳之redirect_uri
│       ├── composer.json   composer.json 請忽略
│       ├── composer.lock   composer.lock 請忽略
│       ├── config.php      基本設定檔
│       ├── idtoken_verify.php  驗證id_token
│       ├── index.php       建立連結
│       ├── i.php           測試WWW是否正確設定
│       ├── library.class.php  需要用到的函數
│       ├── userinfo.php
    取得USER INFO
├── README.md
└── spec

./example/php 目錄下就是範例程式

把該目錄下的檔案複製到你的網頁目錄夾(此例 /var/www/html/rp):

# mkdir /var/www/html/rp
# cp oidc_OPENIDconnect_examples/example/php/* /var/www/html/rp
# cd /var/www/html/rp

驗證ID_TOKEN需安裝套件

由於已經有設定 composer.json,只需下指令,如你沒有 composer,請安裝[1]。

# composer update

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals

  - Installing phpseclib/phpseclib (2.0.6): Loading from cache
  - Installing symfony/polyfill-util (v1.4.0): Loading from cache
  - Installing symfony/polyfill-php56 (v1.4.0): Loading from cache
  - Installing namshi/jose (7.2.3): Loading from cache

phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
Generating autoload files
# ls
callback.php  composer.json  composer.lock  config.php  idtoken_verify.php  index.php  i.php  library.class.php  userinfo.php  vendor

就會把id_token需要的套件安裝完畢,唯一要注意的是,如果你的PHP>=7.0,需要修改原始碼 JWS.php把限制改掉

修改 ./vendor/namshi/jose/src/Namshi/JOSE/JWS.php 把第41-43行註解

使用

1. 修改 config.php

2. 開啟你的網頁http://<IP或網域>/rp,就會看到一個登入連結

祝你使用愉快!

參考資料

[1] composer安裝 安裝php套件管理程式Composer+ Codeignioter3@新精讚