# Discourse Keybase Proof

**URL:** https://meta.discourse.org/t/discourse-keybase-proof/115239
**Category:** Feature
**Tags:** pr-welcome
**Created:** [April 16, 2019, 4:22pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239 "2019-04-16T16:22:48Z")
**Posts on this page:** 20
**Page:** 3

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [July 2, 2019, 2:47am UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/41 "2019-07-02T02:47:56Z")

</div>

So the only way now with the plugin is manual whitelisting? That sounds .. bad? cc @sam

---

<div class="post-metadata">

### Author: ![Avamander](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avamander/32/138595_2.png) [@Avamander](https://meta.discourse.org/u/Avamander)
#### Post date: [July 2, 2019, 2:38pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/42 "2019-07-02T14:38:34Z")

</div>

Yep, it’s both to stay clear in the legal sense and to avoid getting spammed, if the system is tested out a bit more they might lift the restriction but who knows. It’s all very new.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 8, 2019, 8:29pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/43 "2019-07-08T20:29:38Z")

</div>

> [@kb\_xgess](#):
>
> it might be easier for you to iterate on a public server that’s less production-y. if that makes sense. maybe a staging or hosted dev environment.

[https://keybase-test.demo.discourse.org/](https://keybase-test.demo.discourse.org/) is up and running with the plugin deployed. Can you authorize that URL?

> [@emanuele](#):
>
> The plugin is in good enough shape now to get reviewed

@emanuele the plugin is enable and installed.

Where in the UI I start the linking process ?

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 8, 2019, 8:46pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/44 "2019-07-08T20:46:18Z")

</div>

I am not sure what you mean with “linking process” 😄 this is what I would do:

The URL you have to provide to Keybase is `/keybase-proofs/config`, which will allow the site to be whitelisted, and from then, you can use Keybase to identify you on that server. The URL used to do the identification dance is `/keybase-proofs/new-proof` (but you won’t visit it directly, but through Keybase).

Please note again that the config lacks a required param yet, so the whitelisting might be rejected if not forced by someone from Keybase.

To review it, try to visit /keybase-proofs/new-proof with the required query params (check the tests to have an idea), so you can see the UI (which is… To be tweaked 🙂 )

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 8, 2019, 8:53pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/45 "2019-07-08T20:53:15Z")

</div>

Oh I see, so it is something that will always start from the Keybase site?

@kb_xgess I think it makes sense to have some sort of deep linking so we can add a button in the user profile and forward the user to the appropriated place in the Keybase website?

> [@emanuele](#):
>
> Please note again that the config lacks a required param yet, so the whitelisting might be rejected if not forced by someone from Keybase.

And how can we fix that?

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 8, 2019, 8:55pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/46 "2019-07-08T20:55:36Z")

</div>

I didn’t know where I can retrieve an SVG logo of the Discourse site. If it is somewhere, then just add a reference to it in the config (the “logo” field). If Discourse doesn’t provide one, then it is necessary to add an admin page from which the user can upload the svg logo.

(Sorry for the brevity, I am writing from my phone)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 8, 2019, 9:27pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/47 "2019-07-08T21:27:29Z")

</div>

We don’t have a site setting to provide a SVG logo currently, so just hardcode the value to this image for now in the plugin:

 ![Discourse_logo](https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg)

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 8, 2019, 9:39pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/48 "2019-07-08T21:39:15Z")

</div>

Will do tomorrow 🙂 do you also have a black and white version of that svg? Both versions might be required by the plug-in, I think.

---

<div class="post-metadata">

### Author: ![kb\_xgess](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kb_xgess/32/148817_2.png) [@kb\_xgess](https://meta.discourse.org/u/kb_xgess)
#### Post date: [July 8, 2019, 10:25pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/49 "2019-07-08T22:25:16Z")

</div>

awesome. i’ll get on setting up for that domain. and i’m looking into deep linking. will update.

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 9, 2019, 3:40pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/50 "2019-07-09T15:40:19Z")

</div>

> [@Falco](#):
>
> We don’t have a site setting to provide a SVG logo currently, so just hardcode the value to this image for now in the plugin:

Latest master now contains a working config! 🙂

> [@Falco](#):
>
> Oh I see, so it is something that will always start from the Keybase site?

Yes. And once the identity has been confirmed, you’ll also see your Keybase identities in your profile page (connector: `user-profile-secondary`).

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 9, 2019, 3:45pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/51 "2019-07-09T15:45:32Z")

</div>

> [@emanuele](#):
>
> Latest master now contains a working config! 🙂

Amazing, [https://keybase-test.demo.discourse.org/](https://keybase-test.demo.discourse.org/) is updated with latest!

So now the only blocking is keybase? cc @kb_xgess 😉

---

<div class="post-metadata">

### Author: ![kb\_xgess](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kb_xgess/32/148817_2.png) [@kb\_xgess](https://meta.discourse.org/u/kb_xgess)
#### Post date: [July 9, 2019, 3:49pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/52 "2019-07-09T15:49:37Z")

</div>

nope! should be up and running now. although i didn’t look at your config changes; i took some liberties to get it to work. anyway, it’s hidden by default, but there are three currently non-existent keybase users you can create to test it out. they are `testdiscourse1`, `testdiscourse2`, `testdiscourse3`. so, if you signup with those names, `Test Discourse` should be a paramproof option. 🤞

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 9, 2019, 3:58pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/53 "2019-07-09T15:58:51Z")

</div>

Doing it now!

 ![image](https://global.discourse-cdn.com/meta/original/3X/4/0/40449e9e121ec3aad4a132d0cb7c0452ab824281.png)

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/7/a7075ccee710fa6049560bdce451068b1a7fbd17.png)

 ![image](https://global.discourse-cdn.com/meta/original/3X/5/f/5f174d27a1707c903a8e815f4caf43f22502829b.png)

and it failed @emanuele

Also closing the error modal get me stuck at a blank page (just the header) with the location bar showing `https://keybase-test.demo.discourse.org/keybase-proofs/new-proof?kb_username=testdiscourse3&username=falco&sig_hash=longhashremoved&kb_ua=website`

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 9, 2019, 4:10pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/54 "2019-07-09T16:10:50Z")

</div>

That’s too bad ☹ Any way in which I can reproduce?

EDIT: probably found the issue. @Falco can you update to latest master and try again?

---

<div class="post-metadata">

### Author: ![kb\_xgess](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kb_xgess/32/148817_2.png) [@kb\_xgess](https://meta.discourse.org/u/kb_xgess)
#### Post date: [July 9, 2019, 4:22pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/55 "2019-07-09T16:22:09Z")

</div>

i think i see the problem. you’re using `domain` incorrectly. it should be `keybase-test.demo.discourse.org` not `https://keybase-test.demo.discourse.org` in the config (which i changed) and also when you pass it to the proof\_valid endpoint. check out [https://keybase.io/docs/proof\_integration\_guide](https://keybase.io/docs/proof_integration_guide).

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 9, 2019, 4:22pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/56 "2019-07-09T16:22:27Z")

</div>

That’s exactly what I just fixed 😃 🥳 🎉

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 9, 2019, 4:23pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/57 "2019-07-09T16:23:28Z")

</div>

oh wait, in the config too? Alright, fixing it there too 😃

---

<div class="post-metadata">

### Author: ![emanuele](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emanuele/32/142687_2.png) [@emanuele](https://meta.discourse.org/u/emanuele)
#### Post date: [July 9, 2019, 4:25pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/58 "2019-07-09T16:25:41Z")

</div>

@kb_xgess, @Falco, alright. I have removed “https://” from the config _and_ from the Keybase API calls I do in `lib/proof.rb` (to check for a valid proof).

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [July 9, 2019, 4:27pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/59 "2019-07-09T16:27:10Z")

</div>

> [@emanuele](#):
>
> EDIT: probably found the issue. @Falco can you update to latest master and try again?

Updated and now it works!

 ![image](https://global.discourse-cdn.com/meta/original/3X/1/4/14c2ef260b5677e42bc91be531c7078a00d5b984.png)

---

<div class="post-metadata">

### Author: ![Avamander](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avamander/32/138595_2.png) [@Avamander](https://meta.discourse.org/u/Avamander)
#### Post date: [July 9, 2019, 4:31pm UTC](https://meta.discourse.org/t/discourse-keybase-proof/115239/60 "2019-07-09T16:31:07Z")

</div>

Any way I could test it out using the official desktop client?

[Previous page](https://meta.discourse.org/t/discourse-keybase-proof/115239.md?page=2)

[Next page](https://meta.discourse.org/t/discourse-keybase-proof/115239.md?page=4)
