miki-hayashi-71 / Sence_Of_Distance

0 stars 0 forks source link

error:sorceryによるgoogleログインで発生しているエラーの共有 #170

Closed miki-hayashi-71 closed 6 days ago

miki-hayashi-71 commented 1 week ago

sorceryによるgoogleログインで発生しているエラーの共有です。

このプルリクでは変更していませんが、実装内容に関連するコードは以下のとおりです。

また、当初実装していたプルリクはこちらです。

URLの設定


- config/settings/development.yml

sorcery: google_callback_url: "http://localhost:3000/oauth/callback?provider=google"


### モデルの設定
- app/models/user.rb

class User < ApplicationRecord authenticates_with_sorcery!

googleログインの設定

has_many :authentications, :dependent => :destroy accepts_nested_attributes_for :authentications end

- app/models/authentication.rb

class Authentication < ApplicationRecord belongs_to :user end


### ルーティングの設定(抜粋)
- config/routes.rb

Rails.application.routes.draw do

googleログイン

post "oauth/callback" => "oauths#callback" get "oauth/callback" => "oauths#callback" get "oauth/:provider" => "oauths#oauth", as: :auth_at_provider end


### Sorceryの設定(抜粋)
- config/initializers/sorcery.rb

Rails.application.config.sorcery.submodules = [:external]

Rails.application.config.sorcery.configure do |config|

config.external_providers = %i[google]

config.google.key = Rails.application.credentials.dig(:google, :google_client_id) config.google.secret = Rails.application.credentials.dig(:google, :google_client_secret) config.google.callback_url = Settings.sorcery[:google_callback_url] config.google.user_info_mapping = {:email => "email", :username => "name"}

config.user_config do |user| user.stretches = 1 if Rails.env.test? user.authentications_class = Authentication end

config.user_class = "User" end



### Google側の認証情報の設定
[![Image from Gyazo](https://i.gyazo.com/fb0e7611df46c14c6e0483b4fdf77f9a.png)](https://gyazo.com/fb0e7611df46c14c6e0483b4fdf77f9a)
kenchasonakai commented 1 week ago

OAuth同意画面はどんな設定になっていますか?

https://zenn.dev/yoiyoicho/articles/c44a80e4bb4515#google-api%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A1%8C%E3%81%86

kenchasonakai commented 1 week ago

↓らへんをいじったりしたら私の環境ではcodeが返ってきたので一旦同じような変更をしてみてそれでもcodeが返ってこなかったらGoogleの設定かもです

config Image from Gyazo

view Image from Gyazo

controller Image from Gyazo

callback Image from Gyazo

miki-hayashi-71 commented 1 week ago

動作の確認できました!

ありがとうございました!!

miki-hayashi-71 commented 1 week ago

修正が完了し、