これは私の設定です
ログを見ると、明らかに access_token の取得には成功しています。しかし、何らかの問題が発生しました。
エラー情報はこちらです
(oauth2_basic) 認証失敗!無効な資格情報:OAuth2::Error, {"access_token":"44_CpvhnU0R8E6oVB8tDNZBNNXvGCkoY0RAfRJByMLhvt1pUEeyrnqmis4hj8qsQUC7o_9e8-TyySN9ZpEPWyli1y_sSqTwOxoEfglBtFcW0Qw","expires_in":7200,"refresh_token":"44_am-wOd7TZ49pDls4C2LSwmXmHfT6-vawS7aWSfHi2Z316gV_o5cwvX-NJX8SIx-i65wWquRZa2qabnx1ZLlkUBdbAm-bntFgIW-wWiNXhZs","openid":"obhpt6YmqjmBw643L41kJkncc-60","scope":"snsapi_userinfo"}
バックトレースはこちらです
omniauth-1.9.1/lib/omniauth/strategy.rb:163:in `log'
omniauth-1.9.1/lib/omniauth/strategy.rb:486:in `fail!'
omniauth-oauth2-1.7.1/lib/omniauth/strategies/oauth2.rb:96:in `rescue in callback_phase'
omniauth-oauth2-1.7.1/lib/omniauth/strategies/oauth2.rb:84:in `callback_phase'
omniauth-1.9.1/lib/omniauth/strategy.rb:238:in `callback_call'
omniauth-1.9.1/lib/omniauth/strategy.rb:189:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/builder.rb:45:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.3/lib/rack/conditional_get.rb:27:in `call'
rack-2.2.3/lib/rack/head.rb:12:in `call'
actionpack-6.1.3.1/lib/action_dispatch/http/permissions_policy.rb:22:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:353:in `call'
rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-6.1.3.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack-6.1.3.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster-2.9.6/lib/logster/middleware/reporter.rb:43:in `call'
railties-6.1.3.1/lib/rails/rack/logger.rb:37:in `call_app'
railties-6.1.3.1/lib/rails/rack/logger.rb:28:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:23:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:31:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:23:in `call'
rack-2.2.3/lib/rack/method_override.rb:24:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
actionpack-6.1.3.1/lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
rack-mini-profiler-2.3.1/lib/mini_profiler/profiler.rb:248:in `call'
message_bus-3.3.4/lib/message_bus/rack/middleware.rb:61:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:177:in `call'
railties-6.1.3.1/lib/rails/engine.rb:539:in `call'
railties-6.1.3.1/lib/rails/railtie.rb:207:in `public_send'
railties-6.1.3.1/lib/rails/railtie.rb:207:in `method_missing'
rack-2.2.3/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.3/lib/rack/urlmap.rb:58:in `each'
rack-2.2.3/lib/rack/urlmap.rb:58:in `call'
unicorn-6.0.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.0.0/lib/unicorn/http_server.rb:732:in `worker_loop'
unicorn-6.0.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.0.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.0.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'
「いいね!」 1
pfaffman
(Jay Pfaffman)
2
OAuthサーバーが必要なすべてのアクセスを許可していない可能性があります。メールアドレスが送信されていますか?
しかし、エラーメッセージはコールバックサーバーではなく、Discourse から送信されたようです。
これはどういう意味ですか?
おい、バロ、問題はすでに解決したよ。でも新しい問題が出てきた。
OAuth2 ログインを使って、すでにアカウントを持っている場合に、メールアドレスでそれらを連携させたいんだ。どうすればいい?
このようにして、「Email has already token」というエラーメッセージが表示されないようにしたいです。これらを接続させたいです。
「いいね!」 1
pfaffman
(Jay Pfaffman)
6
アカウントを作成するのではなく、ログインしてください。
OAuth2 サーバーにメールフィールドが存在しなかったため、OAuth2 ログインを使用すると、Discourse がメールの入力と検証を求めてきました。
OAuth2 でログインしてメールを入力した場合、OAuth2 サーバーにメールフィールドが存在しないとき、GitHub のようにメールを再認証して登録済みアカウントを上書きする仕組みを実現するにはどうすればよいでしょうか。
qinyj
(qinyj)
9
どうやって解決しましたか?wechat oauthを使おうとしたときに同じ問題に遭遇しました。
rsegura
(rai)
10
@wayyt_cc3090 こんにちは!「認証に失敗しました!」エラーをどのように解決しましたか?
ありがとうございます!