[CTX] [ALL]
次のように、組み込み auth-server を authServ として使用します:

DGAuth: -dgauth[.realm][{user:pass,...}]
各アプリケーションプロトコル独自のダイジェストパスワードを基本とした認証スキームで、 "AUTHORIZER=-dgauth" を指定することで有効になります。 この種の認証スキームは、少なくとも、APOP プロキシーや、 HTTP Digest/Basic 変換器が行い、元の平文テキストのパスワードが 必要です。 そのようなことを簡単に行うには、次のように、 対のユーザー名とパスワードの一覧を直接指定します。 -dgauth{user1:pass1,user2:pass2,...} 他のパスワードを保存する方法は、次のように DeleGate で指定します "-Fauth -a username:password -dgauth"。 -dgauth 用パスワードは暗号化された形で格納され、 暗号化のためのキーワードが必要となります。 キーワードは、CRYPT=pass:keyword で指定するか、 後で対話形式で指定します。 他の場合、DGAuth は、リモート DGAuth サーバー に委任できます。 DGAuth サーバー. DGAuth は、認証によって開始されたセッションの間、 保持された識別と同様のセッション識別子を生成し、 そのあとで、CFI/CGI プログラムに、環境変数 "X_DIGEST_SESSION" で渡され、 さらに、PROTOLOG でログを取ることができます。

例)

    //ダイジェスト認証をクライアントと行う HTTP プロキシー、または、サーバー
    SERVER=http AUTHORIZER=-dgauth
    // クライアントと、APOP 認証を行う、POP プロキシー
    SERVER=pop MOUNT="* pop://server/*" AUTHORIZER=-dgauth

PAM: -pam[/service]
プラットホーム上で PAM (Pluggable Authentication Modules) が使えるなら、 以下の書式で認証に使うことができます。 AUTHORZIER="-pam/service", 例としては、AUTHORIZER="-pam/passwd", AUTHORIZER="-pam/ftp" 等です。
注記: ほとんどの PAM 認証の実行には、Unix 上のスーパーユーザー特権 (OWNER="root" オプション付加) が必要です。 しかし、DGROOT/subin/ に 外部プログラム "dgpam" をインストールすることで、 スーパーユーザー特権をともなう DeleGate を実行することを避けられます。 PAM 認証は、リモート PAM サーバーに委任することもできます。

LIST: -list{user[:pass],...}
一覧の要素 は、":pass" が無い user だけでもよく、 これは、user 名だけをつき合わせ、パスワードは無視することを意味します。 "-list{user:pass,...}" 内で、 "[date+format]" を userpass に置き換えて使用できます。 例) AUTHORIZER="-list{guest:[date+%y%m]}" は、 ユーザー名 "guest" を 2004年5月にパスワード "0405" で受け入れることを意味します。

例)

    AUTHORIZER="-list{u1:p1,u2:p2}(local),-pam,-none(anonymous)"
    // ユーザーは、"local" または PAM でのユーザー、またはその他の "anonymous"
    // として認証されます。

CMD: -cmd{cmd arg ...}[{ENV=val ...}[{input-pattern}]]
認証を外部コマンド cmd で行う。 外部コマンドに渡される認証用の値は、ユーザー名用 %U 及び、 パスワード用 %P のような、書式 "%format" で指定します。 パラメーターは、コマンドライン引数、環境変数または、コマンドの標準入力に渡せます。 環境変数と、input-pattern が、 AUTHORIZER="-cmd{cmd} のように省略されるなら、 AUTHORIZER="-cmd{cmd}{DG_USER=%U DG_PASS=%P}{USER %U\nPASS %P\n}" として暗黙で指定されたかのように、ユーザー名とパスワードの組がデフォルトで渡されます。

コマンドによる認証の結果は、その出力文字列か、終了コードで表されます。 コマンドはその標準出力に結果を FTP プロトコルでのステータス応答形式で表し、 成功時 "230"、失敗時 "530" です。 他の場合、プロセスの終了コードが使われ、0 が成功、0 以外が失敗です。

例) ユーザー名を引数で渡し、パスワードを環境変数で渡す。

    AUTHORIZER="-cmd{myauth %U}{MYPASS=%P}"

    [myauth コマンドの内容]
    #!/bin/sh
    if [ "$1" = "user1" -a "$MYPASS" = "pass1" ]; then
      echo "230 SUCCESS"
    else
      echo "530 FAILURE"
    fi