I’m trying to get github to return the profile from ash_authentication. Doing this according to the docs:
authentication do
strategies do
github do
authorization_params scope: "openid profile email"
But my conn in my failure function in my auth_controller module looks like this for some reason:
:strategy => %AshAuthentication.Strategy.OAuth2{
authorization_params: [scope: "read:user,user:email"],
I’m looking to persist the full name of the user. But name
in the conn is nil.
It seems like there is something wrong with the scope
being set in the configuration.
What does
AshAuthentication.Info.strategy(YourUserResource, :github)
return?
%AshAuthentication.Strategy.OAuth2{
assent_strategy: Assent.Strategy.Github,
auth_method: :client_secret_post,
authorization_params: [scope: "read:user,user:email"],
authorize_url: "https://github.com/login/oauth/authorize",
base_url: "https://api.github.com",
client_authentication_method: nil,
client_id: "xxx",
client_secret: "xxx",
icon: :github,
id_token_signed_response_alg: nil,
id_token_ttl_seconds: nil,
identity_relationship_name: :identities,
identity_relationship_user_id_attribute: :user_id,
identity_resource: false,
name: :github,
nonce: false,
openid_configuration_uri: nil,
openid_configuration: nil,
private_key: nil,
provider: :oauth2,
redirect_uri: "http://localhost:4000/auth/user/github/callback",
register_action_name: :register_with_github,
registration_enabled?: true,
resource: Foo.Accounts.User,
sign_in_action_name: :sign_in_with_github,
site: nil,
strategy_module: AshAuthentication.Strategy.Github,
token_url: "https://github.com/login/oauth/access_token",
trusted_audiences: nil,
user_url: "/user"
}}
Okay, the bug is very clear in this case, setting that option is not being respected. Please open an issue against ash_authentication and I’ll fix it on Monday 