2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
Profile+って知ってますか?(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
御代田亮平氏:「Profile+って知ってますか?」というタイトルで、御代田が発表させていただきます。
まず自己紹介ですが僕は、LINE Loginを簡単にネイティブのアプリケーションに導入することができる「Native SDK」の周囲を担当しているPMです。今日は京都オフィスから来ました。LINEもTwitterも、「@josolennoso」で検索すると出てきます。
では、もう1回タイトルに戻りますが、Profile+は知ってますか? これ、みなさんに聞いてみようと思います。Profile+を使ったことある方はどれくらいいらっしゃいますかね……?
(会場挙手)
あんまりいない。なるほど。そうなんですね。
実際そうで、「実はこんなところにあります」というくらいわかりづらいところにあります。なのでご存知なかった方は、今LINEを開いていただいて、一緒に見ていただければと思います。
まずこのセッティングのところからですね。
プロフィール、と押すとこんな感じになると思います。
ここでもなくて、ここを1番下までスクロールしていくと、「LINE Profile+」というものがあります。これをクリックすると、こんなやつが出てくると思います。
使ったことない方は、「使いませんか?」みたいな、そういう画面が出てくると思います。これで今日、100人くらいユーザー数が増えたということですかね(笑)。
これはユーザーの自分自身のデータを、LINEを通じてLINEアカウントに保存することができます。そのデータをためるためのツールと思っていただければいいと思います。
実際に保持できるデータの属性としては、氏名・性別・誕生日・電話番号・Eメール、あとは住所です。
ちなみに住所は10個まで登録できるようになっています。なので今回の粗大ごみのLIFFの中でもこれが使われていて、もしProfile+でこのあたりの情報をためている方は、おそらく自動的に入力できた体験をしたことがあるかもしれません。
実際に今回使っているのは、氏名と電話番号、Eメールと住所ですね。
もともとProfile+はどんなコンセプトでやっていたかと言うと、LINEに保持している個人のプロフィール情報を、自分で持つだけだと、眺めるだけで終わってしまいます。それをサードパーティの開発者のみなさんが作ったアプリケーションに簡単に共有することで、例えば会員登録だとか、そういったものを簡単にできるようにしよう、というコンセプトでやってきていました。
ただ、実際開発者にも使えるようなかたちのものもあったんですが、いろんな事情であまりうまくいかないこともありました。ですので、今後は新しいかたちで提供しようと考えています。
実はJSのSDKもあって、例えばWebページ上でこのように「Import~」とやると、先ほどの自分のProfile+に登録しているデータが表示されて。
それで「Import」とすると、このように会員登録とかの入力の手間を省けるという。そういったものでした。
ただこれは以前一部のパートナー様にのみ提供していたんですが、今は新規のパートナーの募集はやっていなくて。その代わり、ペイメントなどと結びついたかたちで提供する予定でございます。
では、ここでサーバー側の話をさせていただきます。例えば今回の例で使ったように、LIFFの中からログインサーバーをこのように呼んでいます。
その中で「電話番号とEメール」と「ほかのデータ」は、実は分けて保存しています。
これはなぜかと言うと、電話番号やEメールはLINEではユーザーの認証情報に使っているので、もっとセキュアなエリアに入っています。そのため、このように2つに大きく分けたものを、サーバー側でこねくり回して返す、ということをしてます。
「Authentication DB」はわかりやすいと思いますが、その下の「Passport DB」という名前になっているものに対して、「なんでだろうな」と思われる方がいるかと思います。
これはProfile+の本体のデータが入っているDBなんですが、もともとそのようにLINE上にいろんな自分のデータをためて、それを外のサービスで使うと、いつでもどこでも簡単に、自分のデータが共有できる。それを見せることができる「パスポートのようなもの」という概念でプロジェクトが始まった経緯から、未だにDBだとかサーバーの名前は「Passport」という名前が入っていたりします。
このLINEアプリケーションとサーバー間で何をやっているか、もう少し説明いたします。
今回の例ではチャットボットのインスタンスが真ん中にあります。
LINEのトークルームの中にLIFFのブラウザが立ち上がるかと思うんですが、そのとき「Vanilla LIFF」というタイプのLIFFを特別に使っています。基本的にそこまで大きな違いはありません。
LIFFの中で立ち上がったWebアプリから、今回はチャットボットのインスタンスになっていますが、そこからLINE Login Serverになんらかの通信が行き、リクエストとレスポンスが行われています。
LINE Login Serverからチャットボットのインスタンスには、このようなデータを返しています。
先ほど清水からも話したとおり、OpenID Connectの形式でLINE Loginの個人のデータは、各アプリケーションサーバーに返しているというかたちになっています。
LINE Loginはそういった意味で、OpenID Connectに準拠しているサービスになってます。ちなみに、OpenID Connectをご存知の方はどれくらいいらっしゃいますか?
(会場挙手)
まだ半分くらいということですね。OpenID ConnectとはOAuth 2.0の上に乗っかってるシンプルな、アイデンティティだとか自分のオーセンティケーション情報をためるようなレイヤー……みたいなことが、もともとのRFC上は書いてます。
実際そのとおりで、感覚的には「個人のアイデンティティ情報・オーセンティケーション情報にOAuth 2.0を加えたもの」が、OpenID Connectだと思っていただければいいと思います。
とくに「id_token」と強調されている部分のところについて、もう少し説明しようと思います。
このid_tokenがどのように返ってくるかと言うと、OAuth 2.0の認証・認可の最後の段階で、アクセストークンをログインサーバーから取るフローがあると思います。実際、ここで「api.line.me/oauth2/v2.1/token」というところに叩いてるんですが、そうするとデベロッパー側が「このデータが欲しい」と言うデータを、このid_tokenの中に入れて返してきてくれる、ということをしています。
このあとデモもお見せしますが、id_tokenの中身をもうちょっと見てみると、このようなデータが入っています。
よく見ると、例えば「sub」。「user_id」となっているところは、LINEのユーザーIDが入っています。このid_tokenの中では、名前や「picture」「email」「phone_number」というものが返ってくることがわかると思います。
ということでちょっとデモを、2つお見せしたいと思います。
まずは先ほどの、Profile+のJS SDKのデモをしたいと思います。例えばこれが実際の、なにかの会員登録ページだと思ってください。そのときに、もしProfile+上にデータをためていると、このWebページにはProfile+のJSのSDKを埋め込んであるんですが、このように別タブで自分のProfile+のデータを表示してくれます。これ、LINEのドメイン上にここからは移動しているのがわかると思います。
ここでインポートしたいデータを……例えば今回、「性別」と「誕生日」はやめときましょう、とやると、このようにオートフィルインされます。
とくにモバイルのWebアプリケーションのときは、ユーザーは入力するのはすごく煩雑です。そのために、こういったものがあると、ECサイトさんにとって非常に便利ということで、一部に提供しておりました。もう少しするともっと良い形で一般の開発者のみなさまにも提供できる予定でございます。
もう1つ、先ほどLINE Loginサーバーからチャットボットに向けてid_tokenが返っていたと思いますが、そのフローをデモしたいと思います。
OAuthのフローの最初のところで、そのユーザーに対して「どういうデータが欲しい」という、「スコープ」と呼ばれるものですが、それを指定すると思います。ここでは、「OpenID」というスコープと、「email」と「font」、「address」と「real name」。これはおそらく、実際に粗大ごみBotのLIFFアプリケーションの中で使っているものと同じスコープのセットだと思いますが、これを設定いたします。
ちなみに現在、OpenID・emailに関しては、一般のデベロッパーのみなさんに提供しております。emailは申請ベースで提供しております。ただ、ほかのものに関してはまだパートナー先行となっていますので、まだみなさまには、すぐにはお使いいただけません。
ここでLINE Loginをすると、このように認可画面が出てきます。ここを見ると「メールアドレス」「電話番号」「住所」「氏名」。「あげていいですか?」というふうに聞いてくるので「同意する」と。
そうすると、先ほどのLINEのログインサーバーからチャットボットのサーバーにこのようなトークンが返されています。ここにid_tokenというフィールドがあって、非常に長い文字列があるんですが、これをデコードするとこんな情報が入ってます。
実際に見てみると、address、Email、電話番号など、そういった値が入っているのがわかると思います。
最後にちょっと今後の展望についてお話しします。
今はみなさんLIFFを使うとき、プロフィールとチャットID、トークルームのIDを指定することのできるスコープだけに限られています。それをログイン側で使えるようなスコープが近々出てくる予定です。
それから2つ目、これはLINE Login側の話です。現在emailやphone numberのスコープの扱いはすこし難しいんですが、それがもうちょっと簡単になるようになります。
それから先ほど挙げたaddressとかbirthdate、genderといったスコープに関しても鋭意検討中でございますので。ご期待ください。
ちなみにもしパートナーとして実験的・先行的に使ってみたいものがあれば、あとで僕や中嶋に声かけていただければなと思います。
さらに最後に、今LINE Login、Eメールだけのログインのみになっているんですが、「〇〇ログイン」が……具体的に言うとQRコードだとか、生体認証ログインというものが今年の後半から来年の頭くらいにかけてリリースしていく予定です。
というわけで以上になります、ありがとうございました。
(会場拍手)
LINE株式会社
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05