Authenticating with a User and Password
For this example, start the server using:
> nats-server --user myname --pass passwordYou can encrypt passwords to pass to nats-server using a simple tool provided by the server:
> go run mkpasswd.go -p
> password: password
> bcrypt hash: $2a$11$1oJy/wZYNTxr9jNwMNwS3eUGhBpHT3On8CL9o7ey89mpgo88VG6baand use the hashed password in the server config. The client still uses the plain text version.
The code uses localhost:4222 so that you can start the server on your machine to try them out.
Connecting with a User/Password
When logging in with a password nats-server will take either a plain text password or an encrypted password.
// Set a user and plain text password
nc, err := nats.Connect("127.0.0.1", nats.UserInfo("myname", "password"))
if err != nil {
log.Fatal(err)
}
defer nc.Close()
// Do something with the connectionOptions options = new Options.Builder().
server("nats://localhost:4222").
userInfo("myname","password"). // Set a user and plain text password
build();
Connection nc = Nats.connect(options);
// Do something with the connection
nc.close();let nc = NATS.connect({url: server.nats, user: "myname", pass: "password"});nc = NATS()
await nc.connect(servers=["nats://myname:[email protected]:4222"])
# Do something with the connection.Connecting with a User/Password in the URL
Most clients make it easy to pass the user name and password by accepting them in the URL for the server. This standard format is:
nats://user:password@server:port
Using this format, you can connect to a server using authentication as easily as you connected with a URL:
最后更新于
这有帮助吗?