# Internet Identity Flow
```plantuml
@startuml
actor User as U
"U"->"App": Login
"App"->"App": Create session key pair priv/pub
"App"->"identity.i0.app": Open window /#authorize
"U"->"identity.i0.app": Web Authentication
"identity.i0.app" -> "II Canister"
"identity.i0.app" -> "App": InternetIdentityReady
"App" -> "identity.i0.app": InternetIdentityAuthRequest with pub
"identity.i0.app" -> "App": InternetIdentityAuthResponse with signed delegation
"App" -> "App BE"
@enduml
```
## OAuth with II