S-JIS[2023-10-22]
TsurugiのTsubakuro(Java通信ライブラリー)のCredentialクラスのメモ。
TsubakuroのCredentialは、Tsurugiサーバーに接続する際の認証情報を表すクラス。
CredentialはSessionを生成する際にSessionBuilderのwithCredentialメソッドで指定する。
import com.tsurugidb.tsubakuro.channel.common.connection.Credential;
Credential credential = 〜; try (Session session = SessionBuilder.connect(endpoint).withCredential(credential).create(3, TimeUnit.SECONDS)) { 〜 }
Credentialの具象クラス(認証方法)は何種類かある。
しかし現時点ではTsurugiサーバーには認証が実装されていないので、何を指定しても接続できる。
したがって現時点ではNullCredentialを使っておけばいい。(SessionBuilderのデフォルトはNullCredential)
NullCredentialは認証無しを表すCredentialクラス。
import com.tsurugidb.tsubakuro.channel.common.connection.NullCredential;
public static Credential nullCredential() { return NullCredential.INSTANCE; }
UsernamePasswordCredentialはユーザー名とパスワードを使用するCredentialクラス。
import com.tsurugidb.tsubakuro.channel.common.connection.UsernamePasswordCredential;
public static Credential userPasswordCredential() { return new UsernamePasswordCredential("name", "password"); }
RememberMeCredentialは認証トークンを使用するCredentialクラス。
import com.tsurugidb.tsubakuro.channel.common.connection.RememberMeCredential;
public static Credential rememberMeCredential(String authenticatedToken) { return new RememberMeCredential(authenticatedToken); }
FileCredentialは認証情報ファイルを使用するCredentialクラス。
import com.tsurugidb.tsubakuro.channel.common.connection.FileCredential;
public static Credential fileCredential(Path file) throws IOException { return FileCredential.load(file); }
認証情報ファイルは以下のようにして作成する。
public static void dumpFileCredential(Path file) throws IOException { var credential = new FileCredential("name", "password"); credential.dump(file); }
なお、認証情報ファイルの実体はjsonファイル。