┌─┐ ║"│ ,.-^^-._ └┬┘ |-.____.-| ┌┼┐ | ,-. | | │ +--{ ) | | ┌┴┐ | `-' ┌────────────┐ ┌────┐ | | <> <> │Auth Service│ │User│ '-.____.-' Individual Sign In Page └────────────┘ └────┘ Repository 𝟏 enter username or email ┌┴┐ │ │ │ │───────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ 𝟐 enter password │ │ │ │ │ │───────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ 𝟑 sign in │ │ │ │ │ │───────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ 𝟒 auth user ┌┴┐ │ │ │ │ │ ─────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 𝟓 get user by username or email │ ┌┴┐ │ │ │ │ │ ────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ 𝟔 user │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ │ │ │ │ │ │ │ ────┐ │ │ │ │ │ │ │ 𝟕 granted = user exists and credentials are correct │ │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │┌┴┐ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ ││ │ │ │ │ │ │ │└┬┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ 𝟖 granted │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╔══════╤══════════╪═════════════════════════╪═╪════════════════════════════════════╪═══════╗ │ │ ║ ALT │ granted is true │ │ │ ║ │ │ ╟──────┘ │ │ │ │ ║ │ │ ║ │ │ │ ────┐ ║ │ │ ║ │ │ │ │ 𝟗 redirect to home page ║ │ │ ║ │ │ │ <───┘ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │┌┴┐ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ │└┬┘ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ 𝟏𝟎 home page │ │ │ ║ │ │ ║ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ ║ │ │ ╠═════════════════╪═════════════════════════╪═╪════════════════════════════════════╪═══════╣ │ │ ║ [granted is false] │ │ │ ║ │ │ ║ │ │ │ ────┐ ║ │ │ ║ │ │ │ │ 𝟗 redirect to error page ║ │ │ ║ │ │ │ <───┘ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │┌┴┐ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ ││ │ │ ║ │ │ ║ │ │└┬┘ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ │ │ │ ║ │ │ ║ │ └┬┘ │ ║ │ │ ║ │ 𝟏𝟎 error page │ │ ║ │ │ ║ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ ║ │ │ ╚═════════════════╪══════════════════════════╪═════════════════════════════════════╪═══════╝ │ │ <> <> ┌────────────┐ ┌────┐ Repository Indivi┌─┐l Sig| ,-.ge │Auth Service│ │User│ ,.-^^-._ ║"│ +--{ ) └────────────┘ └────┘ |-.____.-| └┬┘ | `-' | | ┌┼┐ | | │ | | ┌┴┐ '-.____.-'