1
0
mirror of https://github.com/taigrr/nats.docs synced 2025-01-18 04:03:23 -08:00
nats.docs/_examples/connect_nkey.html
2019-05-30 12:43:58 -05:00

101 lines
4.2 KiB
HTML

<div class="tab-wrap">
<input type="radio" id="connect_nkey_go" name="connect_nkey" class="tab" checked>
<label for="connect_nkey_go" class="api-lang" data-language="go">Go</label>
<input type="radio" id="connect_nkey_java" name="connect_nkey" class="tab">
<label for="connect_nkey_java" class="api-lang" data-language="java">Java</label>
<input type="radio" id="connect_nkey_js" name="connect_nkey" class="tab">
<label for="connect_nkey_js" class="api-lang" data-language="js">JavaScript</label>
<input type="radio" id="connect_nkey_ts" name="connect_nkey" class="tab">
<label for="connect_nkey_ts" class="api-lang" data-language="ts">TypeScript</label>
<div class="tab__content">
<pre id="connect_nkey_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/connect_nkey/main.go#L10-23"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">opt, err := nats.NkeyOptionFromSeed(&#34;seed.txt&#34;)
if err != nil {
log.Fatal(err)
}
nc, err := nats.Connect(&#34;localhost&#34;, opt)
if err != nil {
log.Fatal(err)
}
defer nc.Close()
// Do something with the connection
</code></pre>
</div>
<div class="tab__content">
<pre id="connect_nkey_java_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/java-nats-examples/blob/master/src/main/java/io/nats/examples/ConnectNKey.java#L16-47"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-java">NKey theNKey = NKey.createUser(null); // really should load from somewhere
Options options = new Options.Builder().
server(&#34;nats://localhost:4222&#34;).
authHandler(new AuthHandler(){
public char[] getID() {
try {
return theNKey.getPublicKey();
} catch (GeneralSecurityException|IOException|NullPointerException ex) {
return null;
}
}
public byte[] sign(byte[] nonce) {
try {
return theNKey.sign(nonce);
} catch (GeneralSecurityException|IOException|NullPointerException ex) {
return null;
}
}
public char[] getJWT() {
return null;
}
}).
build();
Connection nc = Nats.connect(options);
// Do something with the connection
nc.close();
</code></pre>
</div>
<div class="tab__content">
<pre id="connect_nkey_js_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/node-nats-examples/blob/master/src/auth_examples.js#L122-131"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-javascript">let nc = NATS.connect({
url: server.nats,
nkey: uPub,
sigCB: function (nonce) {
const sk = nkeys.fromSeed(Buffer.from(uSeed));
return sk.sign(nonce);
}
});
</code></pre>
</div>
<div class="tab__content">
<pre id="connect_nkey_ts_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/ts-nats-examples/blob/master/src/auth_examples.ts#L92-101"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-javascript">let nc = await connect({
url: server.nats,
nkey: uPub,
nonceSigner: function (nonce) {
const sk = fromSeed(Buffer.from(uSeed));
return sk.sign(Buffer.from(nonce));
}
});
</code></pre>
</div>
</div>