Skip to content

Instantly share code, notes, and snippets.

@yuchunc
Last active September 19, 2018 10:01
Show Gist options
  • Save yuchunc/e50bbba0c11b85cc249abad960a244ed to your computer and use it in GitHub Desktop.
Save yuchunc/e50bbba0c11b85cc249abad960a244ed to your computer and use it in GitHub Desktop.
def callback(%{assigns: %{ueberauth_auth: auth}} = conn, _params) do
{:ok, user} = Account.fb_auth(auth.uid, auth.info)
Streaming.find_or_create_channel(user)
conn
|> Guardian.Plug.sign_in(user)
|> put_flash(:success, "Signed In!")
|> redirect(to: "/")
end
%Plug.Conn{
adapter: {Plug.Adapters.Cowboy.Conn, :...},
assigns: %{
ueberauth_auth: %Ueberauth.Auth{
credentials: %Ueberauth.Auth.Credentials{
expires: true,
expires_at: 1542524139,
other: %{},
refresh_token: nil,
scopes: [""],
secret: nil,
token: "EAADX4RQ5rh0BAN7eQta0sdRKlia3ZBBAdZAprCiDJ3KMmusIXAkWpZB16HTUEG9lJPNYdoYkKcuyLvORZBKufxJQ0FQLQlw3LfGaZC5EOFXa00MJmUWvX35nWmQ8h6I8Vvk9lp240npJgwNcsZAN4CjsWD3hDLZC2sZD",
token_type: nil
},
extra: %Ueberauth.Auth.Extra{
raw_info: %{
token: %OAuth2.AccessToken{
access_token: "EAADX4RQ5rh0BAN7eQta0sdRKlia3ZBBAdZAprCiDJ3KMmusIXAkWpZB16HTUEG9lJPNYdoYkKcuyLvORZBKufxJQ0FQLQlw3LfGaZC5EOFXa00MJmUWvX35nWmQ8h6I8Vvk9lp240npJgwNcsZAN4CjsWD3hDLZC2sZD",
expires_at: 1542524139,
other_params: %{},
refresh_token: nil,
token_type: "Bearer"
},
user: %{
"email" => "poverwhelming@gmail.com",
"first_name" => "Mickey",
"id" => "10162460050215206",
"last_name" => "Chen",
"name" => "Mickey Chen"
}
}
},
info: %Ueberauth.Auth.Info{
description: nil,
email: "poverwhelming@gmail.com",
first_name: "Mickey",
image: "http://graph.facebook.com/10162460050215206/picture?type=square",
last_name: "Chen",
location: nil,
name: "Mickey Chen",
nickname: nil,
phone: nil,
urls: %{facebook: nil, website: nil}
},
provider: :facebook,
strategy: Ueberauth.Strategy.Facebook,
uid: "10162460050215206"
}
},
before_send: [#Function<0.58048372/1 in Plug.CSRFProtection.call/2>,
#Function<4.97370520/1 in Phoenix.Controller.fetch_flash/2>,
#Function<0.45862765/1 in Plug.Session.before_send/2>,
#Function<1.6439883/1 in Plug.Logger.call/2>],
body_params: %{},
cookies: %{
"_blog_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1A0V2h5NDNPc0FHR1VZR2djRTBodz09.NtHEJxlJFxkLnCZ9NsO7B_XMXliWM3E-htyv4-GT_Ck",
"_cobweb_session" => "Umk5MTZsWDRBdVZDQ3ZCUEJuaDBsN0diWDRwN1hSdUJQRjVCWEhLT01OM3YyTWVUV3JYTDhRYnk4VjhjNWkyY0FqZnZ2MFZmZy80cG1lVmhoYlhaMysvSDdMRXNUSy9XZU9XY2NONXRTdDlKN1JkS3dteWFYZkdMZDl5amRoZW1CQm9mTFFJbWtCOGI3NkFMQjZYZUtvdkFNVU9YZ1BtZzMzYTUxcU1wMDVWcFcwWGpoZ2dMVmJjbGd5aFhUZ1llNlZwZEdoQ25lVTdhNE1USEJUdUptVGlnRVdwMHdkd0dhbW9lZjNxVFkyWT0tLWVkOFp4N05YMjQ4dGlEcXk0RVhIU2c9PQ%3D%3D--c9d0b10b2916643133c4f5921c7ca3b21fc8e043",
"_ex_cowork_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWTArOFNjYysyVVZDSk5GdW5Jem5HUT09.bDUkdF8QRHthrXDTdM2Zeqr5NFOGmnThROYJ7iBgtbU",
"_ga" => "GA1.1.559981371.1510675511",
"_live_auction_key" => "SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYUTlmaXpGZW9HeUdvRjMxUi9Ua0F6dz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAYZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUpzYVhabFgyRjFZM1JwYjI0aUxDSmxlSEFpT2pFMU1qZzRNVGsxTmpNc0ltbGhkQ0k2TVRVeU5qSXlOelUyTXl3aWFYTnpJam9pYkdsMlpWOWhkV04wYVc5dUlpd2lhblJwSWpvaVptSXpNVFU1TnpFdE1tWmlNUzAwT0RrMkxXSmtNVFF0TUdObU9XVTJaV014WTJJeklpd2libUptSWpveE5USTJNakkzTlRZeUxDSnpkV0lpT2lJNU56WTNZVEl6T0Mxa1l6WTRMVFEzTmpVdE9XSmpOeTA0WWpCa1kyVTNZbVJtTUdJaUxDSjBlWEFpT2lKaFkyTmxjM01pZlEuRndoRlR0X1RFdEZqZWhxOVIwOFN2OXBCTzE4VUFnUDJpcWRYQUhaRzctVjh6WUI0aG1sa2JyMTNFZXM5LTVZNUN6QThIa19TaGdXZXIySUtyLXMtUGc.U8vdoM64DDQW22LtQuO-0mFBeHDOqw265LX3IAf1PlM",
"_zazaar_key" => "SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYcEhBM3lOU3FwWHpyaTZzaFJ4Mi9pZz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAXZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUo2WVhwaFlYSWlMQ0psZUhBaU9qRTFNems1TXpNNU5qY3NJbWxoZENJNk1UVXpOek0wTVRrMk55d2lhWE56SWpvaWVtRjZZV0Z5SWl3aWFuUnBJam9pT0RFek1tUXhNemN0WmpVME9TMDBNemMxTFRsak9Ea3ROR1E0TXpjeFpqRmlNbVkySWl3aWJtSm1Jam94TlRNM016UXhPVFkyTENKemRXSWlPaUl6TTJZeFpqY3laaTAzTWpRNExUUXpOMll0T0dRM05DMWpZV0U1WWpFeE1Ea3pZMkVpTENKMGVYQWlPaUpoWTJObGMzTWlmUS5qMjRQSTNGVG4wNTVpT3B0cTJScnF0YnNXcHM1c3JYOXBveVdFX0lLb2NLbzVHU3RqbFMtY05xV0NCTVI0NFlJd2ozS2tZNWhCbmhMQXZWWW1QZUxoQQ.FctwxbcGyuqBO2fPM6OyGuO7t4a1aKvD8KxPfyd7oNQ",
"io" => "hKJOmwLZPn44-secAAAA"
},
halted: false,
host: "localhost",
method: "GET",
owner: #PID<0.629.0>,
params: %{
"code" => "AQAyraxlnte0lvHmPjwAEx-bZs_E92FmZ-luMj-tak40QB7k0HFVAE5qsGE7H3KJhKKoSCjQlMMPTgpO6ToAsRyfCEjwhwO1TLAuUE7w-W9gT_aBJF1zZE3JxmSn5ExEye4F-KoAx4-zPV3NDBuDP_MTGeUhGjMsThZA4OJCUYUyTeo25bpBlflcYwGSleOm7rEkQVniJw1iTz-symbNrE45hMCefpUQQZOZOlIs-6ICE3hix5f8C4rp4zkq6bLSiWBBPqEUZoCSLuigPO0g-zS_-GovR-yuRTXQgvYw3swukksmE5KAmq2wk86qLngU9UZlQYAodhSCDi5FPOPteJUEf-t5WGxXsSxpkARh4hJyDg",
"provider" => "facebook"
},
path_info: ["auth", "facebook", "callback"],
path_params: %{"provider" => "facebook"},
peer: {{0, 0, 0, 0, 0, 0, 0, 1}, 50252},
port: 4000,
private: %{
ZaZaarWeb.Router => {[], %{}},
:facebook_token => nil,
:facebook_user => nil,
:guardian_error_handler => ZaZaar.Auth.ErrorHandler,
:guardian_module => ZaZaar.Auth.Guardian,
:phoenix_action => :callback,
:phoenix_controller => ZaZaarWeb.SessionController,
:phoenix_endpoint => ZaZaarWeb.Endpoint,
:phoenix_flash => %{},
:phoenix_format => "html",
:phoenix_layout => {ZaZaarWeb.LayoutView, :app},
:phoenix_pipelines => [:browser],
:phoenix_router => ZaZaarWeb.Router,
:phoenix_view => ZaZaarWeb.SessionView,
:plug_session => %{},
:plug_session_fetch => :done,
:ueberauth_request_options => %{
callback_methods: ["GET"],
callback_params: nil,
callback_path: "/auth/facebook/callback",
callback_url: nil,
options: [
profile_fields: "name,email,first_name,last_name",
display: "popup"
],
request_path: "/auth/facebook",
strategy: Ueberauth.Strategy.Facebook,
strategy_name: :facebook
}
},
query_params: %{
"code" => "AQAyraxlnte0lvHmPjwAEx-bZs_E92FmZ-luMj-tak40QB7k0HFVAE5qsGE7H3KJhKKoSCjQlMMPTgpO6ToAsRyfCEjwhwO1TLAuUE7w-W9gT_aBJF1zZE3JxmSn5ExEye4F-KoAx4-zPV3NDBuDP_MTGeUhGjMsThZA4OJCUYUyTeo25bpBlflcYwGSleOm7rEkQVniJw1iTz-symbNrE45hMCefpUQQZOZOlIs-6ICE3hix5f8C4rp4zkq6bLSiWBBPqEUZoCSLuigPO0g-zS_-GovR-yuRTXQgvYw3swukksmE5KAmq2wk86qLngU9UZlQYAodhSCDi5FPOPteJUEf-t5WGxXsSxpkARh4hJyDg"
},
query_string: "code=AQAyraxlnte0lvHmPjwAEx-bZs_E92FmZ-luMj-tak40QB7k0HFVAE5qsGE7H3KJhKKoSCjQlMMPTgpO6ToAsRyfCEjwhwO1TLAuUE7w-W9gT_aBJF1zZE3JxmSn5ExEye4F-KoAx4-zPV3NDBuDP_MTGeUhGjMsThZA4OJCUYUyTeo25bpBlflcYwGSleOm7rEkQVniJw1iTz-symbNrE45hMCefpUQQZOZOlIs-6ICE3hix5f8C4rp4zkq6bLSiWBBPqEUZoCSLuigPO0g-zS_-GovR-yuRTXQgvYw3swukksmE5KAmq2wk86qLngU9UZlQYAodhSCDi5FPOPteJUEf-t5WGxXsSxpkARh4hJyDg",
remote_ip: {0, 0, 0, 0, 0, 0, 0, 1},
req_cookies: %{
"_blog_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1A0V2h5NDNPc0FHR1VZR2djRTBodz09.NtHEJxlJFxkLnCZ9NsO7B_XMXliWM3E-htyv4-GT_Ck",
"_cobweb_session" => "Umk5MTZsWDRBdVZDQ3ZCUEJuaDBsN0diWDRwN1hSdUJQRjVCWEhLT01OM3YyTWVUV3JYTDhRYnk4VjhjNWkyY0FqZnZ2MFZmZy80cG1lVmhoYlhaMysvSDdMRXNUSy9XZU9XY2NONXRTdDlKN1JkS3dteWFYZkdMZDl5amRoZW1CQm9mTFFJbWtCOGI3NkFMQjZYZUtvdkFNVU9YZ1BtZzMzYTUxcU1wMDVWcFcwWGpoZ2dMVmJjbGd5aFhUZ1llNlZwZEdoQ25lVTdhNE1USEJUdUptVGlnRVdwMHdkd0dhbW9lZjNxVFkyWT0tLWVkOFp4N05YMjQ4dGlEcXk0RVhIU2c9PQ%3D%3D--c9d0b10b2916643133c4f5921c7ca3b21fc8e043",
"_ex_cowork_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWTArOFNjYysyVVZDSk5GdW5Jem5HUT09.bDUkdF8QRHthrXDTdM2Zeqr5NFOGmnThROYJ7iBgtbU",
"_ga" => "GA1.1.559981371.1510675511",
"_live_auction_key" => "SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYUTlmaXpGZW9HeUdvRjMxUi9Ua0F6dz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAYZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUpzYVhabFgyRjFZM1JwYjI0aUxDSmxlSEFpT2pFMU1qZzRNVGsxTmpNc0ltbGhkQ0k2TVRVeU5qSXlOelUyTXl3aWFYTnpJam9pYkdsMlpWOWhkV04wYVc5dUlpd2lhblJwSWpvaVptSXpNVFU1TnpFdE1tWmlNUzAwT0RrMkxXSmtNVFF0TUdObU9XVTJaV014WTJJeklpd2libUptSWpveE5USTJNakkzTlRZeUxDSnpkV0lpT2lJNU56WTNZVEl6T0Mxa1l6WTRMVFEzTmpVdE9XSmpOeTA0WWpCa1kyVTNZbVJtTUdJaUxDSjBlWEFpT2lKaFkyTmxjM01pZlEuRndoRlR0X1RFdEZqZWhxOVIwOFN2OXBCTzE4VUFnUDJpcWRYQUhaRzctVjh6WUI0aG1sa2JyMTNFZXM5LTVZNUN6QThIa19TaGdXZXIySUtyLXMtUGc.U8vdoM64DDQW22LtQuO-0mFBeHDOqw265LX3IAf1PlM",
"_zazaar_key" => "SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYcEhBM3lOU3FwWHpyaTZzaFJ4Mi9pZz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAXZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUo2WVhwaFlYSWlMQ0psZUhBaU9qRTFNems1TXpNNU5qY3NJbWxoZENJNk1UVXpOek0wTVRrMk55d2lhWE56SWpvaWVtRjZZV0Z5SWl3aWFuUnBJam9pT0RFek1tUXhNemN0WmpVME9TMDBNemMxTFRsak9Ea3ROR1E0TXpjeFpqRmlNbVkySWl3aWJtSm1Jam94TlRNM016UXhPVFkyTENKemRXSWlPaUl6TTJZeFpqY3laaTAzTWpRNExUUXpOMll0T0dRM05DMWpZV0U1WWpFeE1Ea3pZMkVpTENKMGVYQWlPaUpoWTJObGMzTWlmUS5qMjRQSTNGVG4wNTVpT3B0cTJScnF0YnNXcHM1c3JYOXBveVdFX0lLb2NLbzVHU3RqbFMtY05xV0NCTVI0NFlJd2ozS2tZNWhCbmhMQXZWWW1QZUxoQQ.FctwxbcGyuqBO2fPM6OyGuO7t4a1aKvD8KxPfyd7oNQ",
"io" => "hKJOmwLZPn44-secAAAA"
},
req_headers: [
{"host", "localhost:4000"},
{"connection", "keep-alive"},
{"upgrade-insecure-requests", "1"},
{"user-agent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"},
{"accept",
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},
{"referer", "http://localhost:4000/"},
{"accept-encoding", "gzip, deflate, br"},
{"accept-language", "zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7"},
{"cookie",
"_ga=GA1.1.559981371.1510675511; _ex_cowork_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWTArOFNjYysyVVZDSk5GdW5Jem5HUT09.bDUkdF8QRHthrXDTdM2Zeqr5NFOGmnThROYJ7iBgtbU; _blog_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1A0V2h5NDNPc0FHR1VZR2djRTBodz09.NtHEJxlJFxkLnCZ9NsO7B_XMXliWM3E-htyv4-GT_Ck; _live_auction_key=SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYUTlmaXpGZW9HeUdvRjMxUi9Ua0F6dz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAYZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUpzYVhabFgyRjFZM1JwYjI0aUxDSmxlSEFpT2pFMU1qZzRNVGsxTmpNc0ltbGhkQ0k2TVRVeU5qSXlOelUyTXl3aWFYTnpJam9pYkdsMlpWOWhkV04wYVc5dUlpd2lhblJwSWpvaVptSXpNVFU1TnpFdE1tWmlNUzAwT0RrMkxXSmtNVFF0TUdObU9XVTJaV014WTJJeklpd2libUptSWpveE5USTJNakkzTlRZeUxDSnpkV0lpT2lJNU56WTNZVEl6T0Mxa1l6WTRMVFEzTmpVdE9XSmpOeTA0WWpCa1kyVTNZbVJtTUdJaUxDSjBlWEFpT2lKaFkyTmxjM01pZlEuRndoRlR0X1RFdEZqZWhxOVIwOFN2OXBCTzE4VUFnUDJpcWRYQUhaRzctVjh6WUI0aG1sa2JyMTNFZXM5LTVZNUN6QThIa19TaGdXZXIySUtyLXMtUGc.U8vdoM64DDQW22LtQuO-0mFBeHDOqw265LX3IAf1PlM; _cobweb_session=Umk5MTZsWDRBdVZDQ3ZCUEJuaDBsN0diWDRwN1hSdUJQRjVCWEhLT01OM3YyTWVUV3JYTDhRYnk4VjhjNWkyY0FqZnZ2MFZmZy80cG1lVmhoYlhaMysvSDdMRXNUSy9XZU9XY2NONXRTdDlKN1JkS3dteWFYZkdMZDl5amRoZW1CQm9mTFFJbWtCOGI3NkFMQjZYZUtvdkFNVU9YZ1BtZzMzYTUxcU1wMDVWcFcwWGpoZ2dMVmJjbGd5aFhUZ1llNlZwZEdoQ25lVTdhNE1USEJUdUptVGlnRVdwMHdkd0dhbW9lZjNxVFkyWT0tLWVkOFp4N05YMjQ4dGlEcXk0RVhIU2c9PQ%3D%3D--c9d0b10b2916643133c4f5921c7ca3b21fc8e043; io=hKJOmwLZPn44-secAAAA; _zazaar_key=SFMyNTY.g3QAAAACbQAAAAtfY3NyZl90b2tlbm0AAAAYcEhBM3lOU3FwWHpyaTZzaFJ4Mi9pZz09bQAAABZndWFyZGlhbl9kZWZhdWx0X3Rva2VubQAAAXZleUpoYkdjaU9pSklVelV4TWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUo2WVhwaFlYSWlMQ0psZUhBaU9qRTFNems1TXpNNU5qY3NJbWxoZENJNk1UVXpOek0wTVRrMk55d2lhWE56SWpvaWVtRjZZV0Z5SWl3aWFuUnBJam9pT0RFek1tUXhNemN0WmpVME9TMDBNemMxTFRsak9Ea3ROR1E0TXpjeFpqRmlNbVkySWl3aWJtSm1Jam94TlRNM016UXhPVFkyTENKemRXSWlPaUl6TTJZeFpqY3laaTAzTWpRNExUUXpOMll0T0dRM05DMWpZV0U1WWpFeE1Ea3pZMkVpTENKMGVYQWlPaUpoWTJObGMzTWlmUS5qMjRQSTNGVG4wNTVpT3B0cTJScnF0YnNXcHM1c3JYOXBveVdFX0lLb2NLbzVHU3RqbFMtY05xV0NCTVI0NFlJd2ozS2tZNWhCbmhMQXZWWW1QZUxoQQ.FctwxbcGyuqBO2fPM6OyGuO7t4a1aKvD8KxPfyd7oNQ"}
],
request_path: "/auth/facebook/callback",
resp_body: nil,
resp_cookies: %{},
resp_headers: [
{"cache-control", "max-age=0, private, must-revalidate"},
{"x-request-id", "2las8n7spd9h8pbmjc000534"},
{"x-frame-options", "SAMEORIGIN"},
{"x-xss-protection", "1; mode=block"},
{"x-content-type-options", "nosniff"},
{"x-download-options", "noopen"},
{"x-permitted-cross-domain-policies", "none"}
],
scheme: :http,
script_name: [],
secret_key_base: "sNCVTGAG6JAoto+aKFFozLbuPsXjvdUdeCcexJDNq9VfEvGhgNAzwlk96SxEz6dL",
state: :unset,
status: nil
}
%ZaZaar.Account.User{
__meta__: #Ecto.Schema.Metadata<:loaded, "users">,
email: "poverwhelming@gmail.com",
encrypted_password: "$argon2i$v=19$m=65536,t=6,p=1$0udmKEAu/PkO93RVW0Kg3A$CYzRufJwalB0nce7OH8NZCKFSdF/0f7+HWipuHkyEDY",
fb_id: "10162460050215206",
fb_payload: %{
"description" => nil,
"email" => "poverwhelming@gmail.com",
"first_name" => "Mickey",
"image" => "http://graph.facebook.com/10162469950215206/picture?type=square",
"last_name" => "Chen",
"location" => nil,
"name" => "Mickey Chen",
"nickname" => nil,
"phone" => nil,
"urls" => %{"facebook" => nil, "website" => nil}
},
id: "6010b436-0897-4d0f-a712-baa4a350ac84",
image_url: "http://graph.facebook.com/10162460050215206/picture?type=square",
inserted_at: ~N[2018-09-19 09:24:15.228446],
name: "Mickey Chen",
password: nil,
refresh_token: nil,
tier: :viewer,
updated_at: ~N[2018-09-19 09:24:15.236275]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment