как добавить параметр состояния для Uberauth в эликсире - PullRequest
0 голосов
/ 09 марта 2019

Во время процесса oAuth хорошо установить параметр состояния, чтобы авторизовать URL для безопасности.Когда я проверял Uberauth Shopify https://github.com/kodehort/ueberauth_shopify/blob/master/lib/ueberauth/strategy/shopify.ex#L88, он отправляется для shopify.

Но я не понимаю, как мне нужно установить этот параметр состояния в моем приложении Phoenix, чтобы Shopify получал его.Есть предложения?

1 Ответ

0 голосов
/ 09 марта 2019

Вы указываете state в URL-адресе, который вы передаете Ueberauth (таким же образом, scopes также передается)

В зависимости от настроек маршрутизатора, по умолчанию:

pipeline :auth do
  Ueberauth.plug "/auth"
end

scope "/auth" do
  pipe_through [:browser, :auth]

  get "/:provider/callback", AuthController, :callback
end

вы предоставляете scopes и state, перенаправляя пользователя на указанный URL-адрес авторизации:

/auth/shopify?scopes=read_orders%20read_products&state=yourSuperSecretState

или без каких-либо областей:

/auth/shopify?state=yourSuperSecretState

...