# Internet Identity Open Source

**URL:** <https://forum.dfinity.org/t/internet-identity-open-source/3039>\
**Category:** Programs & Applications\
**Created:** [May 10, 2021, 4:22pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039 "2021-05-10T16:22:11Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![Goku](https://avatars.discourse-cdn.com/v4/letter/g/f08c70/32.png) [@Goku](https://forum.dfinity.org/u/Goku)\
**Post date:** [May 10, 2021, 10:31pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/22 "2021-05-10T22:31:06Z")

</div>

Awesome! Any reason why this was written in Rust and not Motoko? Is the compiled WASM then deployed to the internet computer?

---

<div class="post-metadata">

**Author:** ![nomeata](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/nomeata/32/733_2.png) [@nomeata](https://forum.dfinity.org/u/nomeata)\
**Post date:** [May 11, 2021, 8:48am UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/23 "2021-05-11T08:48:10Z")

</div>

There is some code in the canister (crypto stuff and CBOR encoding) where Motoko is still a few libraries short, so we opted for Rust.

Yes, the compiled wasm is deployed to the Internet Computer. You can even check which module precisely is running there:

```
~/dfinity/internet-identity $ dfx canister --network ic --no-wallet info rdmx6-jaaaa-aaaaa-aaadq-cai
Controller: r7inp-6aaaa-aaaaa-aaabq-cai
Module hash: 0xf43dfe544a2612ec3c4a0ee291fb4d69ccd01df5f2836c804619fe6a52a43ea0
```

---

<div class="post-metadata">

**Author:** ![paulyoung](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/paulyoung/32/5251_2.png) [@paulyoung](https://forum.dfinity.org/u/paulyoung)\
**Post date:** [May 13, 2021, 2:54pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/24 "2021-05-13T14:54:04Z")

</div>

Are there any similar examples for clients that aren’t web-based?

For example, a CLI written in Rust that integrates with Internet Identity.

---

<div class="post-metadata">

**Author:** ![nomeata](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/nomeata/32/733_2.png) [@nomeata](https://forum.dfinity.org/u/nomeata)\
**Post date:** [May 13, 2021, 4:23pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/25 "2021-05-13T16:23:15Z")

</div>

No, but it’s rather trivial to write a frontend tool based on the Identity’s did file. I planned to create a dfx subcommand to do that, but didn’t get around to doing it yet. Or maybe someone beats us to it? It’s all out there!

---

<div class="post-metadata">

**Author:** ![zawy](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/zawy/32/723_2.png) [@zawy](https://forum.dfinity.org/u/zawy)\
**Post date:** [May 14, 2021, 1:10pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/26 "2021-05-14T13:10:33Z")

</div>

In Chrome on Windows 10, I get to this step and have no idea what it wants and see nothing in Dfinity help or Webauthn Google searches that help.

![Clipboard03](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/2X/8/80b2fe9c3b5d5839bffc253f286e3e298c19ab25.jpeg)

---

<div class="post-metadata">

**Author:** ![zawy](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/zawy/32/723_2.png) [@zawy](https://forum.dfinity.org/u/zawy)\
**Post date:** [May 14, 2021, 1:55pm UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/27 "2021-05-14T13:55:39Z")

</div>

Now I see Windows 10 allows a security key device like Ubikey. I understand the necessity but it’s sort of a “you got to be kidding me” moment that I have to buy a Ubikey, set up 2FA and/or not lose Ubikey and the backups. I don’t have the newest phone, so it can’t get on either. Ugh. Despite my extreme optimism about Dfinity, it might be a log time before I get on. Let me know if it starts supporting a username, password, and authenticator.

---

<div class="post-metadata">

**Author:** ![paulyoung](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/paulyoung/32/5251_2.png) [@paulyoung](https://forum.dfinity.org/u/paulyoung)\
**Post date:** [May 18, 2021, 7:55am UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/28 "2021-05-18T07:55:50Z")

</div>

> [@nomeata](#):
>
> I planned to create a dfx subcommand to do that, but didn’t get around to doing it yet. Or maybe someone beats us to it? It’s all out there!

I don’t think `dfx` is open source, is it?

---

<div class="post-metadata">

**Author:** ![nomeata](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/nomeata/32/733_2.png) [@nomeata](https://forum.dfinity.org/u/nomeata)\
**Post date:** [May 18, 2021, 10:28am UTC](https://forum.dfinity.org/t/internet-identity-open-source/3039/29 "2021-05-18T10:28:31Z")

</div>

Not yet, but you can easily do that as a stand alone tool using just `agent-rs`, i.e. it does not have to be part of dfx.

[Previous page](https://forum.dfinity.org/t/internet-identity-open-source/3039.md?page=1)
