Skip to content

Commit 26a5eaf

Browse files
committed
Adds IdentityToken tests and documentation for generating identity tokens
1 parent ba7230f commit 26a5eaf

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,19 @@ layer.block_user("owner_id", "user_id")
142142
layer.unblock_user("owner_id", "user_id")
143143
```
144144

145+
### Generating Identity Tokens
146+
See: [the official authentication guide](https://developer.layer.com/docs/android/guides#authentication)
147+
148+
Make sure the following environment variables are set:
149+
`ENV['LAYER_KEY_ID']`
150+
`ENV['LAYER_PROVIDER_ID']`
151+
`ENV['LAYER_PRIVATE_KEY']`
152+
153+
```ruby
154+
# Returns a valid signed identity token.
155+
layer.generate_identity_token(user_id: "1234", nonce: "your_random_nonce")
156+
```
157+
145158
## Development
146159

147160
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

spec/layer/identity_token_spec.rb

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
require 'spec_helper'
2+
3+
describe Layer::Api::IdentityToken do
4+
describe ".new" do
5+
it "should allow you to set the user_id, nonce and expires_at variables" do
6+
user_id = "1234"
7+
nonce = "your_random_nonce"
8+
expires_at = "12345678"
9+
10+
# layer = Layer::Api::Client.new
11+
token = Layer::Api::IdentityToken.new(
12+
user_id: user_id,
13+
nonce: nonce,
14+
expires_at: expires_at
15+
)
16+
17+
expect(token.user_id).to eq(user_id)
18+
expect(token.nonce).to eq(nonce)
19+
expect(token.expires_at).to eq(expires_at)
20+
end
21+
end
22+
23+
describe ".layer_key_id" do
24+
it "should return your ENV['LAYER_KEY_ID']" do
25+
layer_key_id = Layer::Api::IdentityToken.new.layer_key_id
26+
expect(layer_key_id).to eq(ENV['LAYER_KEY_ID'])
27+
end
28+
end
29+
30+
describe ".layer_provider_id" do
31+
it "should return your ENV['LAYER_PROVIDER_ID']" do
32+
provider_id = Layer::Api::IdentityToken.new.layer_provider_id
33+
expect(provider_id).to eq(ENV['LAYER_PROVIDER_ID'])
34+
end
35+
end
36+
37+
describe ".get_jwt" do
38+
end
39+
40+
describe ".headers" do
41+
end
42+
43+
describe ".claim" do
44+
end
45+
46+
describe ".private_key" do
47+
end
48+
49+
describe ".to_s" do
50+
end
51+
52+
describe ".generate_identity_token" do
53+
end
54+
end

0 commit comments

Comments
 (0)