Oauth2-basic plugin و pkce

Hello all,

I’m new to the oauth2-basic plugin and after reading the docs and source code, I cannot find an answer to my question.

  • Does the oauth2-basic plugin support pkce?
  • If so, how can I enable that?
  • If not, how might I modify the oauth2-basic plugin code to use pkce?

The omniauth github page README says that I should be able to set the pkce option to true in my omniauth strategy. However, I have attempted this change in the oauth2-basic plugin code and no code challenge is being sent to my authorize_url. Any suggestions?

Thanks in advance

3 إعجابات

رفع هذا الموضوع حيث أن مجتمعًا أساعده يطلب دعمًا لـ PKCE.

قبل أن يُسأل عنه، لم أرَ شيئًا عن هذا الأمر بعد، ولكن بالنظر إلى التوثيق الخاص به يبدو أن الدافع الرئيسي لذلك هو التطبيقات الأصلية وتطبيقات الصفحة الواحدة (SPAs):

التطبيقات الأصلية

  • لا يمكنها تخزين سر العميل (Client Secret) بشكل آمن. سيؤدي فك تجميع التطبيق إلى كشف سر العميل، والذي يرتبط بالتطبيق وهو نفسه لجميع المستخدمين والأجهزة.
  • قد تستفيد من مخطط عنوان URL مخصص لالتقاط عمليات إعادة التوجيه (على سبيل المثال، MyApp://) مما قد يسمح للتطبيقات الضارة بتلقي رمز التفويض (Authorization Code) من خادم التفويض الخاص بك.

تطبيقات الصفحة الواحدة

  • لا يمكنها تخزين سر العميل (Client Secret) بشكل آمن لأن مصدرها بالكامل متاح للمتصفح.

لا ينطبق أي من هذين الأمرين على هذا الموقف؛ خادم Discourse هو الذي يحتفظ بالسر.

Animated GIF