LINE DEVELOPER DAY 2016に今年も今年も参加してきたのでそのメモです。
LINE開発1室 JoseLuis Takahashi様
LINE Loginとは
- LINE PlatformにMessaging APIやLINE LOGINなどのコンポーネントがある
Backend
- 開発者はチャネルゲートウェイを利用して、LINEバックエンドとやり取りを行う
- バックエンドサービスにはLINE LOGIN やMessaging APIがある
- バックエンドサービスは中核となるトークサーバとやり取りを行う
- トークサーバはチャット以外にも様々な制御を行っている
LINE Loginとは
- LINEユーザの会員情報を利用したログイン機能
- LINEのアクティブユーザは世界で2億以上いるが、これらの会員情報を利用することが可能になる
- LINEログインはweb/android/iosで実装が可能になっている
- Androidやiosに関してはSDKを提供しています
- LINEアプリから自動でログインができる
- ユーザ様がIDやパスワードを入力してログインを行っていたが、LINEアプリからはそのIDやとパスワードを入力せずともログインが可能となっている
認証について
- webの場合、OAuth2.0を使っており、Native SDKの場合はapp-to-appで認証を行うことが可能になっている
OAuth2.0のフロー
- LINEログインへのリダイレクトをweb ブラウザで行い、リダイレクトすると開発者のサーバに通信がいき、開発者側ではStateを設定しておく。
- Stateに関してはCRSFを防止するために予測不可能な値を設定する
- state生成後、access.line.meにOAuthパラメータを付与してリダイレクトし直す
- その後、LINEのチャネルゲートウェイで確認して問題なければユーザに同意画面を開く
- ユーザが同意したらチャネルゲートウェイから開発者サーバに認証コードとstateを送る
- 開発者は受け取った値をstate値を確認する。このstate値はセッションなどで保存しておき、最初に生成したのと同じかどうかを確認する
- 確認が問題なければ認可コードを使って認証コードを発行してチャネルゲートウェイに送る
- チャネルゲートウェイで問題なければアクセストークンを開発者サーバに送信する
- demoで用いられたソース
- webでログインするまでのデモ
- iosのLINEオートログインデモ
- niconicoやikyu.com、出前館、リクナビでLINEログインを導入している
- ドキュメントを現在改修しており、本日API Referenceの資料を出しました。
LINE Login ロードマップ
- 他のサービスとも連携する予定
- その一環として、オフィシャルウェブアプリケーションを提供しております
- 企業のWebサービスをLINE上から提供できることを目指しております
- Business Connect, Profile+, LINE Pay, Shop Cardなどと連携しています
Profile+について
- ユーザが提供したいサービスを管理するサービス
- ECサイトに名前や住所を入れるのは面倒なので、登録しておくことで自動入力させる
- 簡単にユーザの登録を可能にしている
今後の新しいAPI
- 電話番号ログイン
- IDやパスワードでログインしていたが、電話番号でログインできるようにする機能を提供する
- Social APIの提供
- Email API
- Emailの提供を開発者に提供できる
- 会員登録でemailを使うことができるようになる
- LINE@の友達に追加するAPIの提供
- LINE Payとの連携
LINE Loginを使えば、facebook, twitter, に続き、よりユーザに登録してもらいやすい環境を提供することが可能になって流入数をあげることができるなと感じました。
View Comments
I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don't know much about a certain place. Can you help me? https://www.gate.io/ar/signup/XwNAU
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.