[PR #116] [MERGED] feat[0.4.0](oauth): implement OAuth authorization URL and credentials retrieval #157

Closed
opened 2026-02-15 21:16:00 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-plugin-sdks/pull/116
Author: @Yeuoly
Created: 4/25/2025
Status: Merged
Merged: 5/19/2025
Merged by: @Yeuoly

Base: mainHead: feat/oauth


📝 Commits (10+)

  • 51f7748 feat(oauth): implement OAuth authorization URL and credentials retrieval
  • 02026cc feat: support oauth entities
  • 6ec02ca fix: refactor file paths
  • 1d9e696 fix: circular imports
  • 3022314 fix: circular imports
  • 6972e39 fix: linter
  • 4742615 Merge branch 'main' into feat/oauth
  • fd49fd4 fix: missing any
  • ace83c2 feat(oauth): implement OAuth for tool provider
  • a3c0cb2 apply ruff

📊 Changes

9 files changed (+149 additions, -36 deletions)

View changed files

📝 python/dify_plugin/core/entities/plugin/request.py (+28 -6)
📝 python/dify_plugin/core/plugin_executor.py (+30 -0)
📝 python/dify_plugin/core/plugin_registration.py (+22 -0)
📝 python/dify_plugin/entities/tool.py (+6 -27)
📝 python/dify_plugin/interfaces/tool/__init__.py (+16 -3)
python/dify_plugin/protocol/__init__.py (+0 -0)
python/dify_plugin/protocol/oauth.py (+27 -0)
python/tests/interfaces/tool/__init__.py (+0 -0)
python/tests/interfaces/tool/test_construct_tool_provider.py (+20 -0)

📄 Description

  • Added OAuthGetAuthorizationUrlRequest and OAuthGetCredentialsRequest models for handling OAuth requests.
  • Introduced methods in PluginExecutor for generating OAuth authorization URLs and retrieving OAuth credentials.
  • Updated ToolProvider interface to include OAuth methods for authorization URL and credentials handling.
  • Refactored PluginInvokeType and related action enums to support OAuth actions.

Related PRs:


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-plugin-sdks/pull/116 **Author:** [@Yeuoly](https://github.com/Yeuoly) **Created:** 4/25/2025 **Status:** ✅ Merged **Merged:** 5/19/2025 **Merged by:** [@Yeuoly](https://github.com/Yeuoly) **Base:** `main` ← **Head:** `feat/oauth` --- ### 📝 Commits (10+) - [`51f7748`](https://github.com/langgenius/dify-plugin-sdks/commit/51f774885f67777684fc24c7a629acc27f41a562) feat(oauth): implement OAuth authorization URL and credentials retrieval - [`02026cc`](https://github.com/langgenius/dify-plugin-sdks/commit/02026cca22374a08e1146e863581a8376baf34da) feat: support oauth entities - [`6ec02ca`](https://github.com/langgenius/dify-plugin-sdks/commit/6ec02ca700305cc3d464708cb38ffef78c9a6c21) fix: refactor file paths - [`1d9e696`](https://github.com/langgenius/dify-plugin-sdks/commit/1d9e696a83684d8531da8e6c7e3a3cf9270bd402) fix: circular imports - [`3022314`](https://github.com/langgenius/dify-plugin-sdks/commit/3022314bc1721895a516a64430fe3a267f4dcbfc) fix: circular imports - [`6972e39`](https://github.com/langgenius/dify-plugin-sdks/commit/6972e3979aacc0f2116f5b71786b41094391a234) fix: linter - [`4742615`](https://github.com/langgenius/dify-plugin-sdks/commit/47426158ad4cdeb2cfce5f4bbc6329493b423cb1) Merge branch 'main' into feat/oauth - [`fd49fd4`](https://github.com/langgenius/dify-plugin-sdks/commit/fd49fd4c3a77dfc0dda9fbdf67a556bbdaafab78) fix: missing any - [`ace83c2`](https://github.com/langgenius/dify-plugin-sdks/commit/ace83c2fa87df003408bfac2965ae24d992fc9f5) feat(oauth): implement OAuth for tool provider - [`a3c0cb2`](https://github.com/langgenius/dify-plugin-sdks/commit/a3c0cb2d049d7ff46bf5d559c64d87ec8d8c8be8) apply ruff ### 📊 Changes **9 files changed** (+149 additions, -36 deletions) <details> <summary>View changed files</summary> 📝 `python/dify_plugin/core/entities/plugin/request.py` (+28 -6) 📝 `python/dify_plugin/core/plugin_executor.py` (+30 -0) 📝 `python/dify_plugin/core/plugin_registration.py` (+22 -0) 📝 `python/dify_plugin/entities/tool.py` (+6 -27) 📝 `python/dify_plugin/interfaces/tool/__init__.py` (+16 -3) ➕ `python/dify_plugin/protocol/__init__.py` (+0 -0) ➕ `python/dify_plugin/protocol/oauth.py` (+27 -0) ➕ `python/tests/interfaces/tool/__init__.py` (+0 -0) ➕ `python/tests/interfaces/tool/test_construct_tool_provider.py` (+20 -0) </details> ### 📄 Description - Added OAuthGetAuthorizationUrlRequest and OAuthGetCredentialsRequest models for handling OAuth requests. - Introduced methods in PluginExecutor for generating OAuth authorization URLs and retrieving OAuth credentials. - Updated ToolProvider interface to include OAuth methods for authorization URL and credentials handling. - Refactored PluginInvokeType and related action enums to support OAuth actions. Related PRs: - https://github.com/langgenius/dify-plugin-daemon/pull/245 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 21:16:00 -05:00
yindo closed this issue 2026-02-15 21:16:00 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-plugin-sdks#157