# Internet Identity login flow should be redone

**URL:** <https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255>\
**Category:** Developers\
**Created:** [May 24, 2021, 6:41am UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255 "2021-05-24T06:41:21Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 24, 2021, 6:41am UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/1 "2021-05-24T06:41:21Z")

</div>

I feel as though all the clicking and warning screens take away from the otherwise magical first impression those new to it would be getting… some sort of landing page notification for the warnings would be better.

Also, I think it would be a nice touch if you could just press the login button on a site like DSCVR then tap your key or biometric sensor or whatever, then the rest would be automated in javascript [or would it be WebAssembly?] with a click-to-abort button over a short progress/countdown indicator in case you need to login to a different internet identity or something.

Maybe even go straight to the static infinity symbol and have just below it: logging in to user# … click here to abort or log in as a different user (obviously worded a little better)

---

<div class="post-metadata">

**Author:** ![toysrtommy](https://avatars.discourse-cdn.com/v4/letter/t/a3d4f5/32.png) [@toysrtommy](https://forum.dfinity.org/u/toysrtommy)\
**Post date:** [May 24, 2021, 10:32am UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/2 "2021-05-24T10:32:13Z")

</div>

Agreed! Could simplify to just one step.

---

<div class="post-metadata">

**Author:** ![tlbalog](https://avatars.discourse-cdn.com/v4/letter/t/a587f6/32.png) [@tlbalog](https://forum.dfinity.org/u/tlbalog)\
**Post date:** [May 24, 2021, 11:40am UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/3 "2021-05-24T11:40:58Z")

</div>

I agree. It becomes tiring when you have to login several times daily and takes away from the otherwise smooth experience.

---

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 24, 2021, 1:09pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/4 "2021-05-24T13:09:14Z")

</div>

If implemented correctly it would take away from the perceived time to load on the static infinity symbol screen as it would be doing two things at once.

(Giving user a chance to abort to do something different, and also actively loading)

The first thing I would have the abort screen to do would be to pop up up the user id input / registration page and maybe have the warning to create a seed phrase or link more devices just below it.

---

<div class="post-metadata">

**Author:** ![fojo95](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/fojo95/32/1212_2.png) [@fojo95](https://forum.dfinity.org/u/fojo95)\
**Post date:** [May 25, 2021, 9:56am UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/5 "2021-05-25T09:56:25Z")

</div>

Not sure about having to press the “log in as other user” within a time frame. I feel that could add some frustration in cases where you for example have a small screen or laggy device and doesn’t manage to press the button in time. But I agree the user experience could be improved by removing the extra landing page. How about displaying a drop-down menu when pressing “Login” which shows your currently linked users, and also shows a button for adding another account. This would require 2 clicks to log in but still very smooth.

But maybe there is some security reason for sending the users to the II page before logging in.

---

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 25, 2021, 6:00pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/6 "2021-05-25T18:00:30Z")

</div>

Both of those concerns would be a non-issue if implemented well.

… actually, the login process for DSCVR and future apps should probably be an asynchronous call that happens mostly in the background without a complete page refresh (where use case permits)

---

<div class="post-metadata">

**Author:** ![anon74414410](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@anon74414410](https://forum.dfinity.org/u/anon74414410)\
**Post date:** [May 25, 2021, 6:38pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/7 "2021-05-25T18:38:09Z")

</div>

The true minimum would require tapping a login button and then handling WebAuthentication. WebAuthentication can’t be triggered without a user interaction, based on browser implementation.

The benefit of using Internet Identity instead of WebAuthn directly in the page is that it supports logging in with multiple devices, which otherwise DSCVR and every other app would have to implement themselves

---

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 25, 2021, 7:06pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/8 "2021-05-25T19:06:50Z")

</div>

Thanks for the reply, that makes sense…

Is it feasible for the Internet Identity login flow to be implemented as a standard javascript module that an app could include where the process could happen asynchronously on the same page?

---

<div class="post-metadata">

**Author:** ![anthonymq](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/anthonymq/32/524_2.png) [@anthonymq](https://forum.dfinity.org/u/anthonymq)\
**Post date:** [May 25, 2021, 7:07pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/9 "2021-05-25T19:07:00Z")

</div>

Maybe the last screen with the redirect url could be removed by specifying it on the login screen.  
Login then webauthn then automatic redirection

---

<div class="post-metadata">

**Author:** ![anon74414410](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@anon74414410](https://forum.dfinity.org/u/anon74414410)\
**Post date:** [May 25, 2021, 8:53pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/10 "2021-05-25T20:53:01Z")

</div>

It would be possible to stay in-page by using an iframe, but you would still need to interact with the Internet Identity UI in that case. A more seamless login flow for embedded iframes consisting of just a button could be added, but that might require some additional consideration around security

---

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 25, 2021, 10:28pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/11 "2021-05-25T22:28:37Z")

</div>

Trying to setup a development environment, would like to help if I can.

I get this on running ‘dfx start’ on the generated sample project.

```
thread 'replica-actor' panicked at 'called `Result::unwrap()` on an `Err` value: Cannot start the replica: Timeout', src/dfx/src/actors/replica.rs:297:17

```

stack backtrace:  
0: 0x55c08f275a03 - \<std::sys\_common::backtrace::\_print::DisplayBacktrace as core::fmt::Display\>::fmt::h8e44e3bad104136e  
1: 0x55c08f2cdd2d - core::fmt::write::he8cb6d64ed166147  
2: 0x55c08f29e077 - std::io::Write::write\_fmt::hf25ce96005919ce6  
3: 0x55c08f28f340 - std::panicking::default\_hook::{{closure}}::hf8bcda2c877e2dcc  
4: 0x55c08f28f054 - std::panicking::default\_hook::h0602fc6a3744f2c1  
5: 0x55c08f28f9b7 - std::panicking::rust\_panic\_with\_hook::h7b83b0fe7900eb7a  
6: 0x55c08f28f5bb - rust\_begin\_unwind  
7: 0x55c08f2cda11 - core::panicking::panic\_fmt::h61e03e91a1a8868a  
8: 0x55c08f2cdaa3 - core::result::unwrap\_failed::hfb81d2c162de1956  
9: 0x55c08dd6d5aa - std::sys\_common::backtrace::\_\_rust\_begin\_short\_backtrace::h94de5a14059097af  
10: 0x55c08df3ca65 - core::ops::function::FnOnce::call\_once{{vtable.shim}}::h4e69c9dcb6d30a26  
11: 0x55c08f293c6a - std::sys::unix:🧵🧵🆕:thread\_start::h2dd53bf76d714ab0  
12: 0x7f4cd147d609 - start\_thread  
at /build/glibc-eX1tMB/glibc-2.31/nptl/pthread\_create.c:477  
13: 0x7f4cd15c4293 - \_\_clone  
14: 0x0 -

---

<div class="post-metadata">

**Author:** ![anon74414410](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@anon74414410](https://forum.dfinity.org/u/anon74414410)\
**Post date:** [May 26, 2021, 3:36pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/12 "2021-05-26T15:36:00Z")

</div>

What dfx version are you on? Have we promoted `0.7.0` yet?

---

<div class="post-metadata">

**Author:** ![Chris](https://avatars.discourse-cdn.com/v4/letter/c/958977/32.png) [@Chris](https://forum.dfinity.org/u/Chris)\
**Post date:** [May 26, 2021, 5:13pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/13 "2021-05-26T17:13:56Z")

</div>

When I installed yesterday it installed 0.6.x

… I read on the forums that I should try 0.7.0 and installed it specifically, still same error though.

Do you know where the src/dfx/src/actors/replica.rs path is relative to?

---

<div class="post-metadata">

**Author:** ![knowself](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/knowself/32/1197_2.png) [@knowself](https://forum.dfinity.org/u/knowself)\
**Post date:** [May 29, 2021, 9:05pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/14 "2021-05-29T21:05:10Z")

</div>

Internet Computer Login is Broken.

---

<div class="post-metadata">

**Author:** ![nicko](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/nicko/32/532_2.png) [@nicko](https://forum.dfinity.org/u/nicko)\
**Post date:** [July 12, 2021, 7:03pm UTC](https://forum.dfinity.org/t/internet-identity-login-flow-should-be-redone/4255/15 "2021-07-12T19:03:11Z")

</div>

[Meet Plug: An Internet Computer Crypto Wallet & Identity Provider🔌 | by Plug | Plug | Jul, 2021 | Medium](https://medium.com/plugwallet/meet-plug-an-internet-computer-crypto-wallet-identity-provider-b14c7692586) is interesting for this. Maybe @Chris ?
