Mercurial > prosody-modules
annotate mod_auth_external_insecure/examples/lua/prosody-auth-example.lua @ 5643:73c3d5bfce3e
mod_http_oauth2: Allow 'login_hint' as a substitute for OIDC 'select_account' prompt
If the OIDC 'prompt' parameter does not contain the 'select_account'
then it wants us to skip account selection, which means we have to
figure which account to authenticate somehow. One way could be have
this stored in a cookie from a previous successful login. Another way
would be to have the account passed as a hint, which is what we add
here.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 09 Sep 2023 21:42:24 +0200 |
parents | f84ede3e9e3b |
children |
rev | line source |
---|---|
1164
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 local actions = {}; |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 function actions.auth(data) |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 local user, host, pass = data:match("^([^:]+):([^:]+):(.+)$"); |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 if user == "someone" then |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 return "1"; |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 end |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 end |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 for line in io.lines() do |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 local action, data = line:match("^([^:]+)(.*)$"); |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 print(actions[action] and actions[action](data) or "0"); |
b6280e8886f4
mod_auth_external: Move example scripts to new examples/ dir, and add Lua and Go examples
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 end |