You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用flask_oauthlib实现Flask与SharePoint Online认证对接

Flask-OAuthLib 对接 SharePoint Online 配置指南

我看你正在搭建基于Flask的Web服务,想要通过flask_oauthlib调用SharePoint Online的数据,先帮你把现有代码整理成规范格式,同时补充一些关键的配置提示,帮你补全未完成的部分:

from flask import Flask, session
from . import settings

app = Flask(__name__)
app.config.from_object(settings)  # 获取SECRET_KEY

from flask_oauthlib import OAuth
oauth = OAuth(app)

sharepoint = oauth.remote_app(
    'sharepoint',
    consumer_key = '<redacted>',
    consumer_secret = '<redacted>',
    request_token_params = {'scope': 'AllSites.Manage'},
    # 以下是SharePoint OAuth2流程必需的补充参数,需替换为你的实际信息
    base_url='https://your-domain.sharepoint.com/_api/',
    request_token_url=None,  # SharePoint采用OAuth2协议,无需请求Token URL
    access_token_method='POST',
    access_token_url='https://login.microsoftonline.com/your-tenant-id/oauth2/v2.0/token',
    authorize_url='https://login.microsoftonline.com/your-tenant-id/oauth2/v2.0/authorize'
)

几个关键注意事项:

  • 权限范围优化:AllSites.Manage权限过于宽泛,如果仅需读取数据,建议使用更精细的权限如Sites.Read.All,避免过度授权带来的安全风险
  • 租户ID与域名替换:your-tenant-id需要替换为你的SharePoint租户ID(可在Azure AD管理后台获取),your-domain替换为你的SharePoint站点域名
  • 回调URL配置:务必在Azure AD应用注册页面配置正确的回调URL,要与Flask应用中设置的REDIRECT_URI完全匹配
  • HTTPS要求:SharePoint的OAuth2流程强制要求应用运行在HTTPS环境下,本地开发可通过flask run --ssl-cert=cert.pem --ssl-key=key.pem临时启用HTTPS

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:21:46