アプリケーションは、IMAPSが提供している認証機構を呼び出して、利用しているユーザーの正当性を検証する事ができます。ログインには以下のような種類があります。
IMAPSサーバが提供している認証機能をネットワーク経由で呼び出し、サーバ側で認証するオンライン認証
クライアント内部で保持しているクレデンシャルを用いて認証する、オフライン認証
使用例
利用ユーザーの正当性を検証するためにログインメソッドを呼び出します。オンライン認証を行うためには、imaps.auth.loginOnlineメソッド、オフライン認証を行うためにはimaps.auth.loginOfflineメソッドを呼び出します。
var _loginUrl, _userId, _passwd;
function login(loginUrl, userId, passwd) {
_loginUrl = loginUrl;
_userId = userId;
_passwd = passwd;
var networkState = navigator.connection.type;
if (networkState != Connection.UNKNOWN && networkState != Connection.NONE)
imaps.auth.loginOnline(resultHandler, errorHandler, loginUrl, userId, passwd);
}
function resultHandler(result) {
alert("result: \r\n"+result );
}
function errorHandler(error) {
if (error == "IMAPSAuthConnectError")
imaps.auth.loginOffline(resultHandler, errorHandler2, _userId, _passwd);
else
alert("Error: \r\n"+error );
}
function errorHandler2(error) {
alert("Error: \r\n"+error );
}オフライン認証とは、クライアントが保持しているクレデンシャルを用いて利用ユーザーの正当性を検証する認証です。IMAPSサーバの認証機構を利用しないため、ネットワークが利用できない状態でも認証を行うことができます。オフライン認証を行うためには、オンライン認証で一度は認証しておかなくてはなりません。
ネットワーク状態を気にせずにログインを実行したい場合には、imaps.auth.loginAutoメソッドを呼び出します。loginAutoメソッドは、ネットワーク状態に応じて最適なログイン方法を選択します。
注意
loginAuto、loginOnline、loginOfflineメソッドは、IMAPSアプリからは利用する事はできません。
navigator.connection.typeはiOSでは動作しません(常にConnection.CELLが返却されます)。
Androidの場合、ログアウトを呼び出さずにアプリケーションを終了すると、再度アプリケーションを起動したときに、ユーザー情報や認証情報が残ったままになっている場合があります。アプリケーションの終了時、または起動時にログアウトを呼び出して、ユーザー情報を初期化してください。