Skip to content

Conversation

@Anduin2017
Copy link

@Anduin2017 Anduin2017 commented Nov 12, 2025

Details

This pull request introduces support for WeChat (Weixin) as an OAuth 2.0 source. This allows administrators to configure WeChat as a login provider, enabling users to authenticate using the "WeChat for Websites" (PC QR code scanning) flow.


Checklist

  • Local tests pass (ak test authentik/)
  • The code has been formatted (make lint-fix)

If an API change has been made

  • The API schema has been updated (make gen-build)

If changes to the frontend have been made

  • The code has been formatted (make web)

If applicable

  • The documentation has been updated
  • The documentation has been formatted (make docs)

@netlify
Copy link

netlify bot commented Nov 12, 2025

Deploy Preview for authentik-docs ready!

Name Link
🔨 Latest commit a197d27
🔍 Latest deploy log https://app.netlify.com/projects/authentik-docs/deploys/692747a8ff094d0007484af8
😎 Deploy Preview https://deploy-preview-18086--authentik-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Nov 12, 2025

Deploy Preview for authentik-storybook canceled.

Name Link
🔨 Latest commit a197d27
🔍 Latest deploy log https://app.netlify.com/projects/authentik-storybook/deploys/692747a8d8934c0008ed5095

@netlify
Copy link

netlify bot commented Nov 12, 2025

Deploy Preview for authentik-integrations ready!

Name Link
🔨 Latest commit a197d27
🔍 Latest deploy log https://app.netlify.com/projects/authentik-integrations/deploys/692747a8c99ed300087267eb
😎 Deploy Preview https://deploy-preview-18086--authentik-integrations.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Anduin2017 Anduin2017 changed the title Add wechat. Add WeChat as OAuth provider. Nov 12, 2025
@rissson rissson changed the title Add WeChat as OAuth provider. sources/oauth: add WeChat type Nov 12, 2025
@rissson rissson added this to the Release 2025.12 milestone Nov 12, 2025
@codecov
Copy link

codecov bot commented Nov 12, 2025

Codecov Report

❌ Patch coverage is 66.66667% with 26 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.85%. Comparing base (5342629) to head (a197d27).
⚠️ Report is 176 commits behind head on main.

Files with missing lines Patch % Lines
authentik/sources/oauth/types/wechat.py 49.01% 26 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #18086      +/-   ##
==========================================
- Coverage   92.97%   92.85%   -0.12%     
==========================================
  Files         869      896      +27     
  Lines       48041    49006     +965     
==========================================
+ Hits        44665    45505     +840     
- Misses       3376     3501     +125     
Flag Coverage Δ
e2e 45.37% <37.17%> (+0.14%) ⬆️
integration 23.12% <37.17%> (-0.07%) ⬇️
unit 91.05% <66.66%> (-0.03%) ⬇️
unit-migrate 91.09% <66.66%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Anduin2017
Copy link
Author

Hi, Authentik team! We need this feature very much. Can someone from the dev team help getting contacted and help me with escorting this feature? Thanks a lot!!

@Anduin2017
Copy link
Author

@rissson Can you trigger the workflow? I need to make sure the lint pass. @rissson

@Anduin2017 Anduin2017 requested a review from a team as a code owner November 26, 2025 18:32
@Anduin2017
Copy link
Author

Anduin2017 commented Nov 27, 2025

Hi, @rissson !

All issues I can fixed are fixed.

However, I'm getting:

=========================== short test summary info ============================
FAILED tests/e2e/test_provider_saml.py::TestProviderSAML::test_sp_initiated_implicit_post_buffer - django.core.management.base.CommandError: Database test_authentik couldn't be flushed. Possible reasons:
  * The database isn't running or isn't configured correctly.
  * At least one of the expected database tables doesn't exist.
  * The SQL was invalid.
Hint: Look at the output of 'django-admin sqlflush'. That's the SQL this command wasn't able to run.
============= 1 failed, 11 passed, 1 warning in 300.59s (0:05:00) ==============

In https://github.com/goauthentik/authentik/actions/runs/19713888596/job/56482250350?pr=18086

image

This error seems not related to my change. Can you help confirm and engage related team for review? Thanks a lot!!

@rissson rissson requested review from tanberry and removed request for melizeche November 27, 2025 12:51
@rissson rissson requested review from a team November 27, 2025 12:51
@rissson rissson moved this from Todo to Needs review in authentik Core Nov 27, 2025
@Anduin2017
Copy link
Author

@GirlBossRush @tanberry Hi Authentik Dev team!

Our company need this feature to be landed soon. It would be great if it can be released before 2026. Can you help me taking a look?

@rissson
Copy link
Member

rissson commented Nov 28, 2025

@Anduin2017 if you're an enterprise customer, feel free to send us a ticket so we can prioritise this issue. Otherwise, this'll go through our normal review process.

@Anduin2017
Copy link
Author

@Anduin2017 if you're an enterprise customer, feel free to send us a ticket so we can prioritise this issue. Otherwise, this'll go through our normal review process.

Hi @rissson,

Thanks for the response. However, I think there might be a fundamental misunderstanding regarding the nature of this interaction.

To clarify: This is a Pull Request (a contribution), not a Feature Request (a demand).

We are already running this code in our production environment via a custom fork, and it works flawlessly. We do not need this PR to be merged to use it. I took the extra time to strictly follow your contribution guidelines, fix the lints, and write the documentation purely out of the open-source spirit to give this major feature back to the community.

I fully understand prioritizing enterprise customers for support tickets or new feature requests. However, suggesting that a contributor needs to pay a subscription fee to have their donated code reviewed is, frankly, quite disappointing. It sends a message that contributions are viewed as a burden rather than an asset.

If the team lacks the bandwidth to review code, that is understandable. But framing a contribution review as a "paid service" is a discouraging stance for an open-source project. I'll leave this here for the community, but we are fine maintaining our own fork.

@fheisler
Copy link
Member

Hi @Anduin2017, thank you for the carefully prepared contribution!

This was originally presented as a company needing a new feature within a deadline, which is a large part of what we support for paying enterprise customers, regardless of who writes the code:

Our company need this feature to be landed soon. It would be great if it can be released before 2026.

However, it sounds like this is not the case:

We do not need this PR to be merged to use it. I took the extra time [...] purely out of the open-source spirit to give this major feature back to the community.

That's great! As such, this PR is going through our usual review process as @rissson mentioned.

We're already preparing for a 2025.12 release and reviewing a number of other large contributions for inclusion, so I can't guarantee that it will be included in December, but it looks like we've already gotten backend approval and just need frontend + docs reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Needs review

Development

Successfully merging this pull request may close these issues.

5 participants