# Zookeeper::addAuth

(PECL zookeeper >= 0.1.0)

Zookeeper::addAuth — Specify application credentials

### 说明

public Zookeeper::addAuth(string `$scheme`, string `$cert`, callable `$completion_cb` = `null`): bool

The application calls this function to specify its credentials for purposes of authentication. The server will use the security provider specified by the scheme parameter to authenticate the client connection. If the authentication request has failed: - the server connection is dropped. - the watcher is called with the ZOO_AUTH_FAILED_STATE value as the state parameter.

### 参数

`scheme`

  The id of authentication scheme. Natively supported: "digest" password-based authentication

`cert`

  Application credentials. The actual value depends on the scheme.

`completion_cb`

  The routine to invoke when the request completes. One of the following result codes may be passed into the completion callback: - ZOK operation completed successfully - ZAUTHFAILED authentication failed

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

### 错误／异常

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

警告

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

### 示例

示例 #1 Zookeeper::addAuth() example

Add auth before requesting node value.

`<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);
$zookeeper->addAuth('digest', 'user0:passwd0');
$r = $zookeeper->get($path);
if ($r)
echo $r;
else
echo 'ERR';
?>`

以上示例会输出：

    nodevalue

### 参见

- Zookeeper::create() - Create a node synchronously
- Zookeeper::setAcl() - Sets the acl associated with a node synchronously
- Zookeeper::getAcl() - Gets the acl associated with a node synchronously
- ZooKeeper States
- ZookeeperException

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open