アクセストークンの指定によるログイン

SDK からアクセストークンを取得して、アプリ側で用意したストレージに保存できます。プロセスの再起動後は保存しておいたアクセストークンを使ってログインできます。

発行されたアクセストークンは getAccessToken メソッドを実行するか、getAccessTokenObject メソッドを実行してオブジェクトを取得した後に access_token キーの値を取得することで入手できます。いずれの場合も対象ユーザーがログインしている状態で実行してください。以下に、両方の方法の例を挙げます。

// Assume that a user has logged in.

// Method #1: Get an access token with the getAccessToken() method.
var accessToken = KiiUser.getCurrentUser().getAccessToken();

// Method #2: Get an access token with the getAccessTokenObject() method.
var tokenObject = KiiUser.getCurrentUser().getAccessTokenObject();
accessToken = tokenObject["access_token"];

// Securely store the access token in the storage with your own function.
storeToken(accessToken);

アクセストークンを使ってログインを行う例を以下に挙げます。例のようにアクセストークンを指定して authenticateWithToken メソッドを実行します。

  • // Get an access token from the storage with your own function.
    var accessToken = getStoredToken();
    
    // Authenticate a user with the access token.
    KiiUser.authenticateWithToken(accessToken).then(
      function(theUser) {
        // Do something.
      }
    ).catch(
      function(error) {
        // Handle the error.
        var theUser = error.target;
        var errorString = error.message;
      }
    );
  • // Get an access token from the storage with your own function.
    var accessToken = getStoredToken();
    
    // Authenticate a user with the access token.
    KiiUser.authenticateWithToken(accessToken, {
      success: function(theUser) {
        // Do something.
      },
      failure: function(theUser, errorString) {
        // Handle the error.
      }
    })

取得したアクセストークンは Web Storage などの安全に保存できる場所に保存して、他のサイトのスクリプトから不正に使用されないようにご注意ください。アクセストークンがあれば、ログインしたユーザーの権限で Kii Cloud の領域にアクセスできるため、機密情報として扱う必要があります。

この方法では、アクセストークンをモバイルアプリから自由に操作できるため、複数ユーザーの切り替えも実現できます。対象ユーザーを順番にログインしてアクセストークンを取得しておき、それら複数のアクセストークンを場面に応じて切り替えながら SDK に設定できます(クライアント SDK 内ではアクセストークンを 1 件しか保持できないため、SDK 内で複数ユーザーを同時にログイン状態にすることはできません)。