qinyj
(qinyj)
30 Agosto, 2022 17:35
1
Para iniciar sesión con la cuenta de WECHAT, intenté usar el plugin oatuh2-basic pero encontré un problema.
Normalmente, el servidor de WECHAT debería devolver application/json, y luego el plugin puede leer el USID en la cadena JSON.
Desafortunadamente, el servidor solo devuelve text/plain, que el plugin no puede leer.
Aquí está el resultado. Uno ha iniciado sesión con WEIBO con éxito, y el otro intentó iniciar sesión con WECHAT pero falló.
Intenté modificar el código del plugin pero fallé, porque no tengo idea de cómo manejar el lenguaje ruby.
Entonces, ¿alguien puede decirme dónde se debe editar el código? ¿O existe alguna posibilidad de que el plugin pueda actualizarse?
qinyj
(qinyj)
31 Agosto, 2022 16:01
4
Aquí está el backtrace
Mensaje
(oauth2_basic) Fallo de autenticación! invalid_credentials: OAuth2::Error, {"access_token":"60_xf-0xS4znmnu9z-2ZDhNN40RRluErfbiThzzoDz9p8-Ki9pH-A3ML2n3q6UhT7D6d6iCXlEVS5B7kGFsnhW2JHq6eXHNWOgzqXqMsAvhfY4","expires_in":7200,"refresh_token":"60_gfsBHpp0btOnWaZpnRXMywNTzDURCymRtw8sQj21XXC99aebh58Mb4vBGiKaXdYqDGkdovn2ytFoiqavsSWHLt_UiExbkPYA0z-4DBVjDlA","openid":"o01u45oBVM2YbPzmxXau263z_iW4","scope":"snsapi_base"}
Backtrace
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:163:in `log'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:486:in `fail!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-oauth2-1.7.2/lib/omniauth/strategies/oauth2.rb:96:in `rescue in callback_phase'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-oauth2-1.7.2/lib/omniauth/strategies/oauth2.rb:84:in `callback_phase'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:238:in `callback_call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:189:in `call!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:169:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:192:in `call!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:169:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/omniauth-1.9.2/lib/omniauth/strategy.rb:192:in `call!'
Env
HTTP HOSTS: frps.southdog.cool
qinyj
(qinyj)
8 Septiembre, 2022 16:24
7
Dale a tus compatriotas chinos un camino claro. En
container/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/oauth2-1.4.7/lib/oauth2/response.rb
hay el siguiente código:
# Content type assignments for various potential HTTP content types.
@@content_types = {
'application/json' => :json,
………………
'text/plain' => :text,
}
Cámbialo a lo siguiente:
'text/plain' => :json,
Por supuesto, esto solo debería ser útil para WeChat, ya que solo WeChat devuelve texto.
system
(system)
Cerrado
8 Octubre, 2022 16:24
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.