We use OpenID as an SSO solution in our company. I'd love to be able to auto-create users as soon as their account exists on our OpenID provider, but AccountInput doesn't have a field for setting an external_id to point at their OpenID identity URL.
Ideally, AccountInfo should also show the external_id as well.
Example AccountInput for Create Account:
{
"name": "John Doe",
"email": "john.doe@example.com",
"ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw==",
"http_password": "19D9aIn7zePb",
"external_ids": [{
"email": "john.doe@example.com",
"id": "http://openid.example.com/identity/1"
}],
"groups": [
"MyProject-Owners"
]
}
Example AccountInfo for GetAccount:
{
"_account_id": 1000096,
"name": "John Doe",
"email": "john.doe@example.com",
"username": "john",
"external_ids": [{
"email": "john.doe@example.com",
"id": "http://openid.example.com/identity/1",
}]
}
Alternatively, since you've already pulled "username" out of the external_id, then maybe this would be better:
AccountInput:
{
"name": "John Doe",
"email": "john.doe@example.com",
"ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw==",
"http_password": "19D9aIn7zePb",
"openid": "http://openid.example.com/identity/1",
"groups": [
"MyProject-Owners"
]
}
AccountInfo:
{
"_account_id": 1000096,
"name": "John Doe",
"email": "john.doe@example.com",
"username": "john",
"openid": "http://openid.example.com/identity/1",
}