Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++Delphi

OAuth 2.0「LINE Login」TOAuth2Authenticatorを使った接続方法[JAPAN]

Author: Yai_np

「LINE Login」はOAuth 2.0を利用したユーザー管理サービスです。

LINEのアカウントを持つユーザーが簡単に他のサービスと繋がる事ができます

Delphi/C++BuilderではTRESTClient + TRESTRequest + TOAuth2Authenticatorを使えばOAuth 2.0が利用できます

 

OAuth 2.0の詳しい内容は下記のURLを参照してください。

https://openid-foundation-japan.github.io

[OAuth 2.0 仕組み]

 Authorization codeを受けとって特定のエンドポイントに返す事でAccess Tokenを取得できます。

取得したAccess Tokenを使ってAPIサービスが利用できるようになります。

LINE Loginの場合profileを取得するAPIサービスです

 

[LINE Loginを利用するメリット]

LINE Login機能をサービスに組み込むことにより、ユーザーがLINEで簡単にサービスに
ログインすることが可能となります。

ログインしたユーザーから「表示名」、「プロフィール画像」と「ひとこと」を取得することができるため、
ユーザーに登録していただく作業が必要なくなります。

 

[LINE Login 企業登録]

LINE Loginを使うには、LINE Business Center( https://business.line.me/ )で登録が必要です。

登録後アカウントを作成します

 

[認証画面からのコールバックURLの指定が必須]

 作成されたアカウントのChannel ID、Channel Secretが必要です。

  

[Delphi / C++Builder から接続]

新規プロジェクトを作成しフォーム上にTWebBrowser, TRESTClient,TRESTRequest,TRESTResponse, TOAuth2Authenticatorを配置しました。

上絵のように、Channel ID = ClientID、Channel Secret=ClientSecretに設定。

RedirectionEndpointにはコールバックで設定したURLが必要です。

 

 

[C++Builderで実装]

developers.line.me の仕様にしたがってwebloginにTWebBrowser側で接続します

 

 

ログイン画面 ユーザーID,パスワード入力後 URLがリダイレクトされる

WebBrowser1->OnDidFinishLoadイベントが呼ばれるのでそこで下記の処理を行う

 

 

  1. OAuth2Authenticator1->AuthCode//にコードを入れる
  2. OAuth2Authenticator1->ChangeAuthCodeToAccesToken()//実行する。
  3. OAuth2Authenticator1->AccessToken//ここにAccessToken入る
  4. AccessTokenを使ってTRESTClient,TRESTRequestでLINEのprofileを取得

  

 JSONフォーマットでLINEのユーザープロファイル情報が取得できます。

テストした内容はLINEですがOAuth 2.0を使う方法なのでFacebookやGoogle+, Yahoo ID, dアカウントなどでも応用できます。

 


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

関連記事
C++ニュース

C++Builder 10.4 Sydney の Win32およびWin64で、C++17 アルゴリズムライブラリ並列ソートを使用する

C++ニュース

C++Builder 10.4 Sydneyでの ISO C++ サポート状況

C++Delphiデータベース

基礎から学べるFireDACデータアクセス再入門(第5回)

ニュース

RAD Studio 10.4 で変更されたFireDACトランザクション分離レベルの設定

コメント

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES