LINE - LINE 登入

6 月 14, 2024

參考資訊

--

流程一:到開發者後台建立 LINE 登入的 App channel

  1. 登入 LINE Developers
  2. 建立或選擇 Provider
  3. 點選「Create new channel」 → 選擇「LINE Login」 → 填寫資料
  4. 切換「App settings」分頁,輸入 Callback URL 必須是 https://

--

流程二:使用程式取得登入後的 LINE 使用者 id

步驟

  1. 使用 https://access.line.me/oauth2/v2.1/authorize 取得 code,取得的方式是後台設定的 Callback URL
  2. 將取得的 code 丟給 https://api.line.me/oauth2/v2.1/token 來換 access_token
  3. 將 access_token 丟給 https://api.line.me/v2/profile 來取得使用者資料

範例:

發送以下網址

順利的話在後台設定的 Callback URL 就會得到類似

自己寫程式去撈 code 變數,將 code 丟給 token

順利的話可以得到類似

最後把 access_token 丟到 profile 取得登入使用者資料

就可以得到

--

https://access.line.me/oauth2/v2.1/authorize?

?後面接上參數,說明如下

參數 類型 必填? 描述
response_type 字串 必填 code
client_id 字串 必填 LINE登錄頻道ID。您可以在LINE開發者控制台中找到它。
redirect_uri 字串 必填 LINE開發者控制台上註冊的回調URL的URL編碼字串。您可以新增任何查詢參數。
state 字串 必填 用於防止的唯一字母數位字串跨站請求偽造 (開啟新視窗).Web 應用應為每個登錄會話生成一個隨機值。這不能是 URL 編碼的字串。
scope 字串 必填 從使用者請求的許可權。有關詳細資訊,請參閱作用域

如果需要傳遞額外的參數,就附加在 redirect_uri 上,例如要和帳號綁定 LINE 帳號需要 user_id,那就可以在網址後面加上 ?user_id=xxxx 這樣傳遞,不過後面 token 的 redirect_uri 也要相同

scope 說明

Scope Profile
information
ID token
(including user ID)
Display name
in ID token
Profile image URL
in ID token
Email address
in ID token
profile - - - -
profile%20openid -
profile%20openid%20email ✓ (see note)
openid - - - -
openid%20email - - - ✓ (see note)

登入開始需要用程式來處理一些參數,例如 state ,當然固定值也可以

如果 redirect_uri 有特殊字元 ? & 就需要使用 urlencode() 來編碼

--

https://api.line.me/oauth2/v2.1/token

grant_type authorization_code
code 從 LINE 平台收到的授權碼
redirect_uri 與授權請求redirect_uri中指定的值相同。
client_id 在LINE 開發者控制台中找到。
client_secret 在LINE 開發者控制台中找到。

PHP 程式範例

--

https://api.line.me/v2/profile

PHP 程式範例

--

PHP curl 完整程式範例

--

 434 total views,  2 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。