golf-mcp 0.2.2__py3-none-any.whl → 0.2.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of golf-mcp might be problematic. Click here for more details.
- golf/__init__.py +1 -1
- golf/_endpoints.py.in +6 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/METADATA +1 -1
- golf_mcp-0.2.4.dist-info/RECORD +56 -0
- golf/examples/__pycache__/__init__.cpython-311.pyc +0 -0
- golf/examples/basic/.coverage +0 -0
- golf/examples/basic/__pycache__/auth.cpython-311.pyc +0 -0
- golf/examples/basic/htmlcov/.gitignore +0 -2
- golf/examples/basic/htmlcov/class_index.html +0 -547
- golf/examples/basic/htmlcov/coverage_html_cb_6fb7b396.js +0 -733
- golf/examples/basic/htmlcov/favicon_32_cb_58284776.png +0 -0
- golf/examples/basic/htmlcov/function_index.html +0 -2091
- golf/examples/basic/htmlcov/index.html +0 -349
- golf/examples/basic/htmlcov/keybd_closed_cb_ce680311.png +0 -0
- golf/examples/basic/htmlcov/status.json +0 -1
- golf/examples/basic/htmlcov/style_cb_8e611ae1.css +0 -337
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496___init___py.html +0 -323
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_api_key_py.html +0 -170
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_factory_py.html +0 -430
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_helpers_py.html +0 -288
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_providers_py.html +0 -493
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_registry_py.html +0 -353
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950___init___py.html +0 -120
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950_instrumentation_py.html +0 -1535
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db___init___py.html +0 -98
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_branding_py.html +0 -289
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_main_py.html +0 -476
- golf/examples/basic/htmlcov/z_5a6c4e6bcc86fb2f___init___py.html +0 -97
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d___init___py.html +0 -102
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_build_py.html +0 -178
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_init_py.html +0 -387
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_run_py.html +0 -222
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4___init___py.html +0 -106
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4__endpoints_fallback_py.html +0 -107
- golf/examples/basic/htmlcov/z_7ba499ed22986217___init___py.html +0 -98
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_auth_py.html +0 -306
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_metrics_py.html +0 -329
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_py.html +0 -1471
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_telemetry_py.html +0 -186
- golf/examples/basic/htmlcov/z_7ba499ed22986217_config_py.html +0 -315
- golf/examples/basic/htmlcov/z_7ba499ed22986217_parser_py.html +0 -1149
- golf/examples/basic/htmlcov/z_7ba499ed22986217_platform_py.html +0 -279
- golf/examples/basic/htmlcov/z_7ba499ed22986217_telemetry_py.html +0 -589
- golf/examples/basic/htmlcov/z_7ba499ed22986217_transformer_py.html +0 -286
- golf/examples/basic/htmlcov/z_7d7da37693a43688___init___py.html +0 -107
- golf/examples/basic/htmlcov/z_7d7da37693a43688_collector_py.html +0 -417
- golf/examples/basic/htmlcov/z_7d7da37693a43688_registry_py.html +0 -109
- golf/examples/basic/htmlcov/z_abe733142b40ad4e___init___py.html +0 -109
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_context_py.html +0 -150
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_elicitation_py.html +0 -267
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_sampling_py.html +0 -318
- golf/examples/basic/prompts/__pycache__/welcome.cpython-311.pyc +0 -0
- golf/examples/basic/resources/__pycache__/current_time.cpython-311.pyc +0 -0
- golf/examples/basic/resources/__pycache__/info.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/common.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/current.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/forecast.cpython-311.pyc +0 -0
- golf/examples/basic/tools/__pycache__/calculator.cpython-311.pyc +0 -0
- golf/examples/basic/tools/say/__pycache__/hello.cpython-311.pyc +0 -0
- golf_mcp-0.2.2.dist-info/RECORD +0 -110
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/WHEEL +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/entry_points.txt +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/licenses/LICENSE +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/top_level.txt +0 -0
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
5
|
-
<title>Coverage for /Users/antonigmitruk/golf/src/golf/auth/__init__.py: 0%</title>
|
|
6
|
-
<link rel="icon" sizes="32x32" href="favicon_32_cb_58284776.png">
|
|
7
|
-
<link rel="stylesheet" href="style_cb_8e611ae1.css" type="text/css">
|
|
8
|
-
<script src="coverage_html_cb_6fb7b396.js" defer></script>
|
|
9
|
-
</head>
|
|
10
|
-
<body class="pyfile">
|
|
11
|
-
<header>
|
|
12
|
-
<div class="content">
|
|
13
|
-
<h1>
|
|
14
|
-
<span class="text">Coverage for </span><b>/Users/antonigmitruk/golf/src/golf/auth/__init__.py</b>:
|
|
15
|
-
<span class="pc_cov">0%</span>
|
|
16
|
-
</h1>
|
|
17
|
-
<aside id="help_panel_wrapper">
|
|
18
|
-
<input id="help_panel_state" type="checkbox">
|
|
19
|
-
<label for="help_panel_state">
|
|
20
|
-
<img id="keyboard_icon" src="keybd_closed_cb_ce680311.png" alt="Show/hide keyboard shortcuts">
|
|
21
|
-
</label>
|
|
22
|
-
<div id="help_panel">
|
|
23
|
-
<p class="legend">Shortcuts on this page</p>
|
|
24
|
-
<div class="keyhelp">
|
|
25
|
-
<p>
|
|
26
|
-
<kbd>r</kbd>
|
|
27
|
-
<kbd>m</kbd>
|
|
28
|
-
<kbd>x</kbd>
|
|
29
|
-
toggle line displays
|
|
30
|
-
</p>
|
|
31
|
-
<p>
|
|
32
|
-
<kbd>j</kbd>
|
|
33
|
-
<kbd>k</kbd>
|
|
34
|
-
next/prev highlighted chunk
|
|
35
|
-
</p>
|
|
36
|
-
<p>
|
|
37
|
-
<kbd>0</kbd> (zero) top of page
|
|
38
|
-
</p>
|
|
39
|
-
<p>
|
|
40
|
-
<kbd>1</kbd> (one) first highlighted chunk
|
|
41
|
-
</p>
|
|
42
|
-
<p>
|
|
43
|
-
<kbd>[</kbd>
|
|
44
|
-
<kbd>]</kbd>
|
|
45
|
-
prev/next file
|
|
46
|
-
</p>
|
|
47
|
-
<p>
|
|
48
|
-
<kbd>u</kbd> up to the index
|
|
49
|
-
</p>
|
|
50
|
-
<p>
|
|
51
|
-
<kbd>?</kbd> show/hide this help
|
|
52
|
-
</p>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</aside>
|
|
56
|
-
<h2>
|
|
57
|
-
<span class="text">27 statements </span>
|
|
58
|
-
<button type="button" class="run button_toggle_run" value="run" data-shortcut="r" title="Toggle lines run">0<span class="text"> run</span></button>
|
|
59
|
-
<button type="button" class="mis show_mis button_toggle_mis" value="mis" data-shortcut="m" title="Toggle lines missing">27<span class="text"> missing</span></button>
|
|
60
|
-
<button type="button" class="exc show_exc button_toggle_exc" value="exc" data-shortcut="x" title="Toggle lines excluded">0<span class="text"> excluded</span></button>
|
|
61
|
-
</h2>
|
|
62
|
-
<p class="text">
|
|
63
|
-
<a id="prevFileLink" class="nav" href="z_6fcdee0582ba84e4__endpoints_fallback_py.html">« prev</a>
|
|
64
|
-
<a id="indexLink" class="nav" href="index.html">^ index</a>
|
|
65
|
-
<a id="nextFileLink" class="nav" href="z_1c9a91c0e91c8496_api_key_py.html">» next</a>
|
|
66
|
-
|
|
67
|
-
<a class="nav" href="https://coverage.readthedocs.io/en/7.6.12">coverage.py v7.6.12</a>,
|
|
68
|
-
created at 2025-08-16 18:46 +0200
|
|
69
|
-
</p>
|
|
70
|
-
<aside class="hidden">
|
|
71
|
-
<button type="button" class="button_next_chunk" data-shortcut="j"></button>
|
|
72
|
-
<button type="button" class="button_prev_chunk" data-shortcut="k"></button>
|
|
73
|
-
<button type="button" class="button_top_of_page" data-shortcut="0"></button>
|
|
74
|
-
<button type="button" class="button_first_chunk" data-shortcut="1"></button>
|
|
75
|
-
<button type="button" class="button_prev_file" data-shortcut="["></button>
|
|
76
|
-
<button type="button" class="button_next_file" data-shortcut="]"></button>
|
|
77
|
-
<button type="button" class="button_to_index" data-shortcut="u"></button>
|
|
78
|
-
<button type="button" class="button_show_hide_help" data-shortcut="?"></button>
|
|
79
|
-
</aside>
|
|
80
|
-
</div>
|
|
81
|
-
</header>
|
|
82
|
-
<main id="source">
|
|
83
|
-
<p class="pln"><span class="n"><a id="t1" href="#t1">1</a></span><span class="t"><span class="str">"""Modern authentication for Golf MCP servers using FastMCP 2.11+ providers.</span> </span><span class="r"></span></p>
|
|
84
|
-
<p class="pln"><span class="n"><a id="t2" href="#t2">2</a></span><span class="t"> </span><span class="r"></span></p>
|
|
85
|
-
<p class="pln"><span class="n"><a id="t3" href="#t3">3</a></span><span class="t"><span class="str">This module provides authentication configuration and utilities for Golf servers,</span> </span><span class="r"></span></p>
|
|
86
|
-
<p class="pln"><span class="n"><a id="t4" href="#t4">4</a></span><span class="t"><span class="str">leveraging FastMCP's built-in authentication system with JWT verification,</span> </span><span class="r"></span></p>
|
|
87
|
-
<p class="pln"><span class="n"><a id="t5" href="#t5">5</a></span><span class="t"><span class="str">OAuth providers, and token management.</span> </span><span class="r"></span></p>
|
|
88
|
-
<p class="pln"><span class="n"><a id="t6" href="#t6">6</a></span><span class="t"><span class="str">"""</span> </span><span class="r"></span></p>
|
|
89
|
-
<p class="pln"><span class="n"><a id="t7" href="#t7">7</a></span><span class="t"> </span><span class="r"></span></p>
|
|
90
|
-
<p class="mis show_mis"><span class="n"><a id="t8" href="#t8">8</a></span><span class="t"><span class="key">from</span> <span class="nam">typing</span> <span class="key">import</span> <span class="nam">Any</span> </span><span class="r"></span></p>
|
|
91
|
-
<p class="pln"><span class="n"><a id="t9" href="#t9">9</a></span><span class="t"> </span><span class="r"></span></p>
|
|
92
|
-
<p class="pln"><span class="n"><a id="t10" href="#t10">10</a></span><span class="t"><span class="com"># Modern auth provider configurations and factory functions</span> </span><span class="r"></span></p>
|
|
93
|
-
<p class="mis show_mis"><span class="n"><a id="t11" href="#t11">11</a></span><span class="t"><span class="key">from</span> <span class="op">.</span><span class="nam">providers</span> <span class="key">import</span> <span class="op">(</span> </span><span class="r"></span></p>
|
|
94
|
-
<p class="pln"><span class="n"><a id="t12" href="#t12">12</a></span><span class="t"> <span class="nam">AuthConfig</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
95
|
-
<p class="pln"><span class="n"><a id="t13" href="#t13">13</a></span><span class="t"> <span class="nam">JWTAuthConfig</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
96
|
-
<p class="pln"><span class="n"><a id="t14" href="#t14">14</a></span><span class="t"> <span class="nam">StaticTokenConfig</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
97
|
-
<p class="pln"><span class="n"><a id="t15" href="#t15">15</a></span><span class="t"> <span class="nam">OAuthServerConfig</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
98
|
-
<p class="pln"><span class="n"><a id="t16" href="#t16">16</a></span><span class="t"> <span class="nam">RemoteAuthConfig</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
99
|
-
<p class="pln"><span class="n"><a id="t17" href="#t17">17</a></span><span class="t"><span class="op">)</span> </span><span class="r"></span></p>
|
|
100
|
-
<p class="mis show_mis"><span class="n"><a id="t18" href="#t18">18</a></span><span class="t"><span class="key">from</span> <span class="op">.</span><span class="nam">factory</span> <span class="key">import</span> <span class="op">(</span> </span><span class="r"></span></p>
|
|
101
|
-
<p class="pln"><span class="n"><a id="t19" href="#t19">19</a></span><span class="t"> <span class="nam">create_auth_provider</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
102
|
-
<p class="pln"><span class="n"><a id="t20" href="#t20">20</a></span><span class="t"> <span class="nam">create_simple_jwt_provider</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
103
|
-
<p class="pln"><span class="n"><a id="t21" href="#t21">21</a></span><span class="t"> <span class="nam">create_dev_token_provider</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
104
|
-
<p class="pln"><span class="n"><a id="t22" href="#t22">22</a></span><span class="t"><span class="op">)</span> </span><span class="r"></span></p>
|
|
105
|
-
<p class="mis show_mis"><span class="n"><a id="t23" href="#t23">23</a></span><span class="t"><span class="key">from</span> <span class="op">.</span><span class="nam">registry</span> <span class="key">import</span> <span class="op">(</span> </span><span class="r"></span></p>
|
|
106
|
-
<p class="pln"><span class="n"><a id="t24" href="#t24">24</a></span><span class="t"> <span class="nam">BaseProviderPlugin</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
107
|
-
<p class="pln"><span class="n"><a id="t25" href="#t25">25</a></span><span class="t"> <span class="nam">AuthProviderFactory</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
108
|
-
<p class="pln"><span class="n"><a id="t26" href="#t26">26</a></span><span class="t"> <span class="nam">get_provider_registry</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
109
|
-
<p class="pln"><span class="n"><a id="t27" href="#t27">27</a></span><span class="t"> <span class="nam">register_provider_factory</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
110
|
-
<p class="pln"><span class="n"><a id="t28" href="#t28">28</a></span><span class="t"> <span class="nam">register_provider_plugin</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
111
|
-
<p class="pln"><span class="n"><a id="t29" href="#t29">29</a></span><span class="t"><span class="op">)</span> </span><span class="r"></span></p>
|
|
112
|
-
<p class="pln"><span class="n"><a id="t30" href="#t30">30</a></span><span class="t"> </span><span class="r"></span></p>
|
|
113
|
-
<p class="pln"><span class="n"><a id="t31" href="#t31">31</a></span><span class="t"><span class="com"># Re-export for backward compatibility</span> </span><span class="r"></span></p>
|
|
114
|
-
<p class="mis show_mis"><span class="n"><a id="t32" href="#t32">32</a></span><span class="t"><span class="key">from</span> <span class="op">.</span><span class="nam">api_key</span> <span class="key">import</span> <span class="nam">configure_api_key</span><span class="op">,</span> <span class="nam">get_api_key_config</span><span class="op">,</span> <span class="nam">is_api_key_configured</span> </span><span class="r"></span></p>
|
|
115
|
-
<p class="mis show_mis"><span class="n"><a id="t33" href="#t33">33</a></span><span class="t"><span class="key">from</span> <span class="op">.</span><span class="nam">helpers</span> <span class="key">import</span> <span class="op">(</span> </span><span class="r"></span></p>
|
|
116
|
-
<p class="pln"><span class="n"><a id="t34" href="#t34">34</a></span><span class="t"> <span class="nam">debug_api_key_context</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
117
|
-
<p class="pln"><span class="n"><a id="t35" href="#t35">35</a></span><span class="t"> <span class="nam">extract_token_from_header</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
118
|
-
<p class="pln"><span class="n"><a id="t36" href="#t36">36</a></span><span class="t"> <span class="nam">get_api_key</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
119
|
-
<p class="pln"><span class="n"><a id="t37" href="#t37">37</a></span><span class="t"> <span class="nam">get_provider_token</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
120
|
-
<p class="pln"><span class="n"><a id="t38" href="#t38">38</a></span><span class="t"> <span class="nam">set_api_key</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
121
|
-
<p class="pln"><span class="n"><a id="t39" href="#t39">39</a></span><span class="t"><span class="op">)</span> </span><span class="r"></span></p>
|
|
122
|
-
<p class="pln"><span class="n"><a id="t40" href="#t40">40</a></span><span class="t"> </span><span class="r"></span></p>
|
|
123
|
-
<p class="pln"><span class="n"><a id="t41" href="#t41">41</a></span><span class="t"><span class="com"># Public API</span> </span><span class="r"></span></p>
|
|
124
|
-
<p class="mis show_mis"><span class="n"><a id="t42" href="#t42">42</a></span><span class="t"><span class="nam">__all__</span> <span class="op">=</span> <span class="op">[</span> </span><span class="r"></span></p>
|
|
125
|
-
<p class="pln"><span class="n"><a id="t43" href="#t43">43</a></span><span class="t"> <span class="com"># Main configuration functions</span> </span><span class="r"></span></p>
|
|
126
|
-
<p class="pln"><span class="n"><a id="t44" href="#t44">44</a></span><span class="t"> <span class="str">"configure_auth"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
127
|
-
<p class="pln"><span class="n"><a id="t45" href="#t45">45</a></span><span class="t"> <span class="str">"configure_jwt_auth"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
128
|
-
<p class="pln"><span class="n"><a id="t46" href="#t46">46</a></span><span class="t"> <span class="str">"configure_dev_auth"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
129
|
-
<p class="pln"><span class="n"><a id="t47" href="#t47">47</a></span><span class="t"> <span class="str">"get_auth_config"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
130
|
-
<p class="pln"><span class="n"><a id="t48" href="#t48">48</a></span><span class="t"> <span class="com"># Provider configurations</span> </span><span class="r"></span></p>
|
|
131
|
-
<p class="pln"><span class="n"><a id="t49" href="#t49">49</a></span><span class="t"> <span class="str">"AuthConfig"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
132
|
-
<p class="pln"><span class="n"><a id="t50" href="#t50">50</a></span><span class="t"> <span class="str">"JWTAuthConfig"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
133
|
-
<p class="pln"><span class="n"><a id="t51" href="#t51">51</a></span><span class="t"> <span class="str">"StaticTokenConfig"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
134
|
-
<p class="pln"><span class="n"><a id="t52" href="#t52">52</a></span><span class="t"> <span class="str">"OAuthServerConfig"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
135
|
-
<p class="pln"><span class="n"><a id="t53" href="#t53">53</a></span><span class="t"> <span class="str">"RemoteAuthConfig"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
136
|
-
<p class="pln"><span class="n"><a id="t54" href="#t54">54</a></span><span class="t"> <span class="com"># Factory functions</span> </span><span class="r"></span></p>
|
|
137
|
-
<p class="pln"><span class="n"><a id="t55" href="#t55">55</a></span><span class="t"> <span class="str">"create_auth_provider"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
138
|
-
<p class="pln"><span class="n"><a id="t56" href="#t56">56</a></span><span class="t"> <span class="str">"create_simple_jwt_provider"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
139
|
-
<p class="pln"><span class="n"><a id="t57" href="#t57">57</a></span><span class="t"> <span class="str">"create_dev_token_provider"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
140
|
-
<p class="pln"><span class="n"><a id="t58" href="#t58">58</a></span><span class="t"> <span class="com"># Provider registry and plugins</span> </span><span class="r"></span></p>
|
|
141
|
-
<p class="pln"><span class="n"><a id="t59" href="#t59">59</a></span><span class="t"> <span class="str">"BaseProviderPlugin"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
142
|
-
<p class="pln"><span class="n"><a id="t60" href="#t60">60</a></span><span class="t"> <span class="str">"AuthProviderFactory"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
143
|
-
<p class="pln"><span class="n"><a id="t61" href="#t61">61</a></span><span class="t"> <span class="str">"get_provider_registry"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
144
|
-
<p class="pln"><span class="n"><a id="t62" href="#t62">62</a></span><span class="t"> <span class="str">"register_provider_factory"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
145
|
-
<p class="pln"><span class="n"><a id="t63" href="#t63">63</a></span><span class="t"> <span class="str">"register_provider_plugin"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
146
|
-
<p class="pln"><span class="n"><a id="t64" href="#t64">64</a></span><span class="t"> <span class="com"># API key functions (backward compatibility)</span> </span><span class="r"></span></p>
|
|
147
|
-
<p class="pln"><span class="n"><a id="t65" href="#t65">65</a></span><span class="t"> <span class="str">"configure_api_key"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
148
|
-
<p class="pln"><span class="n"><a id="t66" href="#t66">66</a></span><span class="t"> <span class="str">"get_api_key_config"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
149
|
-
<p class="pln"><span class="n"><a id="t67" href="#t67">67</a></span><span class="t"> <span class="str">"is_api_key_configured"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
150
|
-
<p class="pln"><span class="n"><a id="t68" href="#t68">68</a></span><span class="t"> <span class="com"># Helper functions</span> </span><span class="r"></span></p>
|
|
151
|
-
<p class="pln"><span class="n"><a id="t69" href="#t69">69</a></span><span class="t"> <span class="str">"debug_api_key_context"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
152
|
-
<p class="pln"><span class="n"><a id="t70" href="#t70">70</a></span><span class="t"> <span class="str">"extract_token_from_header"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
153
|
-
<p class="pln"><span class="n"><a id="t71" href="#t71">71</a></span><span class="t"> <span class="str">"get_api_key"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
154
|
-
<p class="pln"><span class="n"><a id="t72" href="#t72">72</a></span><span class="t"> <span class="str">"get_provider_token"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
155
|
-
<p class="pln"><span class="n"><a id="t73" href="#t73">73</a></span><span class="t"> <span class="str">"set_api_key"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
156
|
-
<p class="pln"><span class="n"><a id="t74" href="#t74">74</a></span><span class="t"><span class="op">]</span> </span><span class="r"></span></p>
|
|
157
|
-
<p class="pln"><span class="n"><a id="t75" href="#t75">75</a></span><span class="t"> </span><span class="r"></span></p>
|
|
158
|
-
<p class="pln"><span class="n"><a id="t76" href="#t76">76</a></span><span class="t"><span class="com"># Global storage for auth configuration</span> </span><span class="r"></span></p>
|
|
159
|
-
<p class="mis show_mis"><span class="n"><a id="t77" href="#t77">77</a></span><span class="t"><span class="nam">_auth_config</span><span class="op">:</span> <span class="nam">AuthConfig</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span> </span><span class="r"></span></p>
|
|
160
|
-
<p class="pln"><span class="n"><a id="t78" href="#t78">78</a></span><span class="t"> </span><span class="r"></span></p>
|
|
161
|
-
<p class="pln"><span class="n"><a id="t79" href="#t79">79</a></span><span class="t"> </span><span class="r"></span></p>
|
|
162
|
-
<p class="mis show_mis"><span class="n"><a id="t80" href="#t80">80</a></span><span class="t"><span class="key">def</span> <span class="nam">configure_auth</span><span class="op">(</span><span class="nam">config</span><span class="op">:</span> <span class="nam">AuthConfig</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
163
|
-
<p class="pln"><span class="n"><a id="t81" href="#t81">81</a></span><span class="t"> <span class="str">"""Configure authentication for the Golf server.</span> </span><span class="r"></span></p>
|
|
164
|
-
<p class="pln"><span class="n"><a id="t82" href="#t82">82</a></span><span class="t"> </span><span class="r"></span></p>
|
|
165
|
-
<p class="pln"><span class="n"><a id="t83" href="#t83">83</a></span><span class="t"><span class="str"> This function should be called in auth.py to set up authentication</span> </span><span class="r"></span></p>
|
|
166
|
-
<p class="pln"><span class="n"><a id="t84" href="#t84">84</a></span><span class="t"><span class="str"> using FastMCP's modern auth providers.</span> </span><span class="r"></span></p>
|
|
167
|
-
<p class="pln"><span class="n"><a id="t85" href="#t85">85</a></span><span class="t"> </span><span class="r"></span></p>
|
|
168
|
-
<p class="pln"><span class="n"><a id="t86" href="#t86">86</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
169
|
-
<p class="pln"><span class="n"><a id="t87" href="#t87">87</a></span><span class="t"><span class="str"> config: Authentication configuration (JWT, OAuth, Static, or Remote)</span> </span><span class="r"></span></p>
|
|
170
|
-
<p class="pln"><span class="n"><a id="t88" href="#t88">88</a></span><span class="t"><span class="str"> The required_scopes should be specified in the config itself.</span> </span><span class="r"></span></p>
|
|
171
|
-
<p class="pln"><span class="n"><a id="t89" href="#t89">89</a></span><span class="t"> </span><span class="r"></span></p>
|
|
172
|
-
<p class="pln"><span class="n"><a id="t90" href="#t90">90</a></span><span class="t"><span class="str"> Examples:</span> </span><span class="r"></span></p>
|
|
173
|
-
<p class="pln"><span class="n"><a id="t91" href="#t91">91</a></span><span class="t"><span class="str"> # JWT authentication with Auth0</span> </span><span class="r"></span></p>
|
|
174
|
-
<p class="pln"><span class="n"><a id="t92" href="#t92">92</a></span><span class="t"><span class="str"> from golf.auth import configure_auth, JWTAuthConfig</span> </span><span class="r"></span></p>
|
|
175
|
-
<p class="pln"><span class="n"><a id="t93" href="#t93">93</a></span><span class="t"> </span><span class="r"></span></p>
|
|
176
|
-
<p class="pln"><span class="n"><a id="t94" href="#t94">94</a></span><span class="t"><span class="str"> configure_auth(</span> </span><span class="r"></span></p>
|
|
177
|
-
<p class="pln"><span class="n"><a id="t95" href="#t95">95</a></span><span class="t"><span class="str"> JWTAuthConfig(</span> </span><span class="r"></span></p>
|
|
178
|
-
<p class="pln"><span class="n"><a id="t96" href="#t96">96</a></span><span class="t"><span class="str"> jwks_uri="https://your-domain.auth0.com/.well-known/jwks.json",</span> </span><span class="r"></span></p>
|
|
179
|
-
<p class="pln"><span class="n"><a id="t97" href="#t97">97</a></span><span class="t"><span class="str"> issuer="https://your-domain.auth0.com/",</span> </span><span class="r"></span></p>
|
|
180
|
-
<p class="pln"><span class="n"><a id="t98" href="#t98">98</a></span><span class="t"><span class="str"> audience="https://your-api.example.com",</span> </span><span class="r"></span></p>
|
|
181
|
-
<p class="pln"><span class="n"><a id="t99" href="#t99">99</a></span><span class="t"><span class="str"> required_scopes=["read:data"],</span> </span><span class="r"></span></p>
|
|
182
|
-
<p class="pln"><span class="n"><a id="t100" href="#t100">100</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
183
|
-
<p class="pln"><span class="n"><a id="t101" href="#t101">101</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
184
|
-
<p class="pln"><span class="n"><a id="t102" href="#t102">102</a></span><span class="t"> </span><span class="r"></span></p>
|
|
185
|
-
<p class="pln"><span class="n"><a id="t103" href="#t103">103</a></span><span class="t"><span class="str"> # Development with static tokens</span> </span><span class="r"></span></p>
|
|
186
|
-
<p class="pln"><span class="n"><a id="t104" href="#t104">104</a></span><span class="t"><span class="str"> from golf.auth import configure_auth, StaticTokenConfig</span> </span><span class="r"></span></p>
|
|
187
|
-
<p class="pln"><span class="n"><a id="t105" href="#t105">105</a></span><span class="t"> </span><span class="r"></span></p>
|
|
188
|
-
<p class="pln"><span class="n"><a id="t106" href="#t106">106</a></span><span class="t"><span class="str"> configure_auth(</span> </span><span class="r"></span></p>
|
|
189
|
-
<p class="pln"><span class="n"><a id="t107" href="#t107">107</a></span><span class="t"><span class="str"> StaticTokenConfig(</span> </span><span class="r"></span></p>
|
|
190
|
-
<p class="pln"><span class="n"><a id="t108" href="#t108">108</a></span><span class="t"><span class="str"> tokens={</span> </span><span class="r"></span></p>
|
|
191
|
-
<p class="pln"><span class="n"><a id="t109" href="#t109">109</a></span><span class="t"><span class="str"> "dev-token-123": {</span> </span><span class="r"></span></p>
|
|
192
|
-
<p class="pln"><span class="n"><a id="t110" href="#t110">110</a></span><span class="t"><span class="str"> "client_id": "dev-client",</span> </span><span class="r"></span></p>
|
|
193
|
-
<p class="pln"><span class="n"><a id="t111" href="#t111">111</a></span><span class="t"><span class="str"> "scopes": ["read", "write"],</span> </span><span class="r"></span></p>
|
|
194
|
-
<p class="pln"><span class="n"><a id="t112" href="#t112">112</a></span><span class="t"><span class="str"> }</span> </span><span class="r"></span></p>
|
|
195
|
-
<p class="pln"><span class="n"><a id="t113" href="#t113">113</a></span><span class="t"><span class="str"> },</span> </span><span class="r"></span></p>
|
|
196
|
-
<p class="pln"><span class="n"><a id="t114" href="#t114">114</a></span><span class="t"><span class="str"> required_scopes=["read"],</span> </span><span class="r"></span></p>
|
|
197
|
-
<p class="pln"><span class="n"><a id="t115" href="#t115">115</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
198
|
-
<p class="pln"><span class="n"><a id="t116" href="#t116">116</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
199
|
-
<p class="pln"><span class="n"><a id="t117" href="#t117">117</a></span><span class="t"> </span><span class="r"></span></p>
|
|
200
|
-
<p class="pln"><span class="n"><a id="t118" href="#t118">118</a></span><span class="t"><span class="str"> # Full OAuth server</span> </span><span class="r"></span></p>
|
|
201
|
-
<p class="pln"><span class="n"><a id="t119" href="#t119">119</a></span><span class="t"><span class="str"> from golf.auth import configure_auth, OAuthServerConfig</span> </span><span class="r"></span></p>
|
|
202
|
-
<p class="pln"><span class="n"><a id="t120" href="#t120">120</a></span><span class="t"> </span><span class="r"></span></p>
|
|
203
|
-
<p class="pln"><span class="n"><a id="t121" href="#t121">121</a></span><span class="t"><span class="str"> configure_auth(</span> </span><span class="r"></span></p>
|
|
204
|
-
<p class="pln"><span class="n"><a id="t122" href="#t122">122</a></span><span class="t"><span class="str"> OAuthServerConfig(</span> </span><span class="r"></span></p>
|
|
205
|
-
<p class="pln"><span class="n"><a id="t123" href="#t123">123</a></span><span class="t"><span class="str"> base_url="https://your-server.example.com",</span> </span><span class="r"></span></p>
|
|
206
|
-
<p class="pln"><span class="n"><a id="t124" href="#t124">124</a></span><span class="t"><span class="str"> valid_scopes=["read", "write", "admin"],</span> </span><span class="r"></span></p>
|
|
207
|
-
<p class="pln"><span class="n"><a id="t125" href="#t125">125</a></span><span class="t"><span class="str"> default_scopes=["read"],</span> </span><span class="r"></span></p>
|
|
208
|
-
<p class="pln"><span class="n"><a id="t126" href="#t126">126</a></span><span class="t"><span class="str"> required_scopes=["read"],</span> </span><span class="r"></span></p>
|
|
209
|
-
<p class="pln"><span class="n"><a id="t127" href="#t127">127</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
210
|
-
<p class="pln"><span class="n"><a id="t128" href="#t128">128</a></span><span class="t"><span class="str"> )</span> </span><span class="r"></span></p>
|
|
211
|
-
<p class="pln"><span class="n"><a id="t129" href="#t129">129</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
212
|
-
<p class="pln"><span class="n"><a id="t130" href="#t130">130</a></span><span class="t"> <span class="key">global</span> <span class="nam">_auth_config</span> </span><span class="r"></span></p>
|
|
213
|
-
<p class="mis show_mis"><span class="n"><a id="t131" href="#t131">131</a></span><span class="t"> <span class="nam">_auth_config</span> <span class="op">=</span> <span class="nam">config</span> </span><span class="r"></span></p>
|
|
214
|
-
<p class="pln"><span class="n"><a id="t132" href="#t132">132</a></span><span class="t"> </span><span class="r"></span></p>
|
|
215
|
-
<p class="pln"><span class="n"><a id="t133" href="#t133">133</a></span><span class="t"> </span><span class="r"></span></p>
|
|
216
|
-
<p class="mis show_mis"><span class="n"><a id="t134" href="#t134">134</a></span><span class="t"><span class="key">def</span> <span class="nam">configure_jwt_auth</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
217
|
-
<p class="pln"><span class="n"><a id="t135" href="#t135">135</a></span><span class="t"> <span class="op">*</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
218
|
-
<p class="pln"><span class="n"><a id="t136" href="#t136">136</a></span><span class="t"> <span class="nam">jwks_uri</span><span class="op">:</span> <span class="nam">str</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
219
|
-
<p class="pln"><span class="n"><a id="t137" href="#t137">137</a></span><span class="t"> <span class="nam">public_key</span><span class="op">:</span> <span class="nam">str</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
220
|
-
<p class="pln"><span class="n"><a id="t138" href="#t138">138</a></span><span class="t"> <span class="nam">issuer</span><span class="op">:</span> <span class="nam">str</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
221
|
-
<p class="pln"><span class="n"><a id="t139" href="#t139">139</a></span><span class="t"> <span class="nam">audience</span><span class="op">:</span> <span class="nam">str</span> <span class="op">|</span> <span class="nam">list</span><span class="op">[</span><span class="nam">str</span><span class="op">]</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
222
|
-
<p class="pln"><span class="n"><a id="t140" href="#t140">140</a></span><span class="t"> <span class="nam">required_scopes</span><span class="op">:</span> <span class="nam">list</span><span class="op">[</span><span class="nam">str</span><span class="op">]</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
223
|
-
<p class="pln"><span class="n"><a id="t141" href="#t141">141</a></span><span class="t"> <span class="op">**</span><span class="nam">env_vars</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
224
|
-
<p class="pln"><span class="n"><a id="t142" href="#t142">142</a></span><span class="t"><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
225
|
-
<p class="pln"><span class="n"><a id="t143" href="#t143">143</a></span><span class="t"> <span class="str">"""Convenience function to configure JWT authentication.</span> </span><span class="r"></span></p>
|
|
226
|
-
<p class="pln"><span class="n"><a id="t144" href="#t144">144</a></span><span class="t"> </span><span class="r"></span></p>
|
|
227
|
-
<p class="pln"><span class="n"><a id="t145" href="#t145">145</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
228
|
-
<p class="pln"><span class="n"><a id="t146" href="#t146">146</a></span><span class="t"><span class="str"> jwks_uri: JWKS URI for key fetching</span> </span><span class="r"></span></p>
|
|
229
|
-
<p class="pln"><span class="n"><a id="t147" href="#t147">147</a></span><span class="t"><span class="str"> public_key: Static public key (PEM format)</span> </span><span class="r"></span></p>
|
|
230
|
-
<p class="pln"><span class="n"><a id="t148" href="#t148">148</a></span><span class="t"><span class="str"> issuer: Expected issuer claim</span> </span><span class="r"></span></p>
|
|
231
|
-
<p class="pln"><span class="n"><a id="t149" href="#t149">149</a></span><span class="t"><span class="str"> audience: Expected audience claim(s)</span> </span><span class="r"></span></p>
|
|
232
|
-
<p class="pln"><span class="n"><a id="t150" href="#t150">150</a></span><span class="t"><span class="str"> required_scopes: Required scopes for all requests</span> </span><span class="r"></span></p>
|
|
233
|
-
<p class="pln"><span class="n"><a id="t151" href="#t151">151</a></span><span class="t"><span class="str"> **env_vars: Environment variable names (public_key_env_var,</span> </span><span class="r"></span></p>
|
|
234
|
-
<p class="pln"><span class="n"><a id="t152" href="#t152">152</a></span><span class="t"><span class="str"> jwks_uri_env_var, etc.)</span> </span><span class="r"></span></p>
|
|
235
|
-
<p class="pln"><span class="n"><a id="t153" href="#t153">153</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
236
|
-
<p class="mis show_mis"><span class="n"><a id="t154" href="#t154">154</a></span><span class="t"> <span class="nam">config</span> <span class="op">=</span> <span class="nam">JWTAuthConfig</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
237
|
-
<p class="pln"><span class="n"><a id="t155" href="#t155">155</a></span><span class="t"> <span class="nam">jwks_uri</span><span class="op">=</span><span class="nam">jwks_uri</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
238
|
-
<p class="pln"><span class="n"><a id="t156" href="#t156">156</a></span><span class="t"> <span class="nam">public_key</span><span class="op">=</span><span class="nam">public_key</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
239
|
-
<p class="pln"><span class="n"><a id="t157" href="#t157">157</a></span><span class="t"> <span class="nam">issuer</span><span class="op">=</span><span class="nam">issuer</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
240
|
-
<p class="pln"><span class="n"><a id="t158" href="#t158">158</a></span><span class="t"> <span class="nam">audience</span><span class="op">=</span><span class="nam">audience</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
241
|
-
<p class="pln"><span class="n"><a id="t159" href="#t159">159</a></span><span class="t"> <span class="nam">required_scopes</span><span class="op">=</span><span class="nam">required_scopes</span> <span class="key">or</span> <span class="op">[</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
242
|
-
<p class="pln"><span class="n"><a id="t160" href="#t160">160</a></span><span class="t"> <span class="op">**</span><span class="nam">env_vars</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
243
|
-
<p class="pln"><span class="n"><a id="t161" href="#t161">161</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
244
|
-
<p class="mis show_mis"><span class="n"><a id="t162" href="#t162">162</a></span><span class="t"> <span class="nam">configure_auth</span><span class="op">(</span><span class="nam">config</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
245
|
-
<p class="pln"><span class="n"><a id="t163" href="#t163">163</a></span><span class="t"> </span><span class="r"></span></p>
|
|
246
|
-
<p class="pln"><span class="n"><a id="t164" href="#t164">164</a></span><span class="t"> </span><span class="r"></span></p>
|
|
247
|
-
<p class="mis show_mis"><span class="n"><a id="t165" href="#t165">165</a></span><span class="t"><span class="key">def</span> <span class="nam">configure_dev_auth</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
248
|
-
<p class="pln"><span class="n"><a id="t166" href="#t166">166</a></span><span class="t"> <span class="nam">tokens</span><span class="op">:</span> <span class="nam">dict</span><span class="op">[</span><span class="nam">str</span><span class="op">,</span> <span class="nam">Any</span><span class="op">]</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
249
|
-
<p class="pln"><span class="n"><a id="t167" href="#t167">167</a></span><span class="t"> <span class="nam">required_scopes</span><span class="op">:</span> <span class="nam">list</span><span class="op">[</span><span class="nam">str</span><span class="op">]</span> <span class="op">|</span> <span class="key">None</span> <span class="op">=</span> <span class="key">None</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
250
|
-
<p class="pln"><span class="n"><a id="t168" href="#t168">168</a></span><span class="t"><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
251
|
-
<p class="pln"><span class="n"><a id="t169" href="#t169">169</a></span><span class="t"> <span class="str">"""Convenience function to configure development authentication.</span> </span><span class="r"></span></p>
|
|
252
|
-
<p class="pln"><span class="n"><a id="t170" href="#t170">170</a></span><span class="t"> </span><span class="r"></span></p>
|
|
253
|
-
<p class="pln"><span class="n"><a id="t171" href="#t171">171</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
254
|
-
<p class="pln"><span class="n"><a id="t172" href="#t172">172</a></span><span class="t"><span class="str"> tokens: Token dictionary or None for defaults</span> </span><span class="r"></span></p>
|
|
255
|
-
<p class="pln"><span class="n"><a id="t173" href="#t173">173</a></span><span class="t"><span class="str"> required_scopes: Required scopes for all requests</span> </span><span class="r"></span></p>
|
|
256
|
-
<p class="pln"><span class="n"><a id="t174" href="#t174">174</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
257
|
-
<p class="mis show_mis"><span class="n"><a id="t175" href="#t175">175</a></span><span class="t"> <span class="key">if</span> <span class="nam">tokens</span> <span class="key">is</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
258
|
-
<p class="mis show_mis"><span class="n"><a id="t176" href="#t176">176</a></span><span class="t"> <span class="nam">tokens</span> <span class="op">=</span> <span class="op">{</span> </span><span class="r"></span></p>
|
|
259
|
-
<p class="pln"><span class="n"><a id="t177" href="#t177">177</a></span><span class="t"> <span class="str">"dev-token-123"</span><span class="op">:</span> <span class="op">{</span> </span><span class="r"></span></p>
|
|
260
|
-
<p class="pln"><span class="n"><a id="t178" href="#t178">178</a></span><span class="t"> <span class="str">"client_id"</span><span class="op">:</span> <span class="str">"dev-client"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
261
|
-
<p class="pln"><span class="n"><a id="t179" href="#t179">179</a></span><span class="t"> <span class="str">"scopes"</span><span class="op">:</span> <span class="op">[</span><span class="str">"read"</span><span class="op">,</span> <span class="str">"write"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
262
|
-
<p class="pln"><span class="n"><a id="t180" href="#t180">180</a></span><span class="t"> <span class="op">}</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
263
|
-
<p class="pln"><span class="n"><a id="t181" href="#t181">181</a></span><span class="t"> <span class="str">"admin-token-456"</span><span class="op">:</span> <span class="op">{</span> </span><span class="r"></span></p>
|
|
264
|
-
<p class="pln"><span class="n"><a id="t182" href="#t182">182</a></span><span class="t"> <span class="str">"client_id"</span><span class="op">:</span> <span class="str">"admin-client"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
265
|
-
<p class="pln"><span class="n"><a id="t183" href="#t183">183</a></span><span class="t"> <span class="str">"scopes"</span><span class="op">:</span> <span class="op">[</span><span class="str">"read"</span><span class="op">,</span> <span class="str">"write"</span><span class="op">,</span> <span class="str">"admin"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
266
|
-
<p class="pln"><span class="n"><a id="t184" href="#t184">184</a></span><span class="t"> <span class="op">}</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
267
|
-
<p class="pln"><span class="n"><a id="t185" href="#t185">185</a></span><span class="t"> <span class="op">}</span> </span><span class="r"></span></p>
|
|
268
|
-
<p class="pln"><span class="n"><a id="t186" href="#t186">186</a></span><span class="t"> </span><span class="r"></span></p>
|
|
269
|
-
<p class="mis show_mis"><span class="n"><a id="t187" href="#t187">187</a></span><span class="t"> <span class="nam">config</span> <span class="op">=</span> <span class="nam">StaticTokenConfig</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
270
|
-
<p class="pln"><span class="n"><a id="t188" href="#t188">188</a></span><span class="t"> <span class="nam">tokens</span><span class="op">=</span><span class="nam">tokens</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
271
|
-
<p class="pln"><span class="n"><a id="t189" href="#t189">189</a></span><span class="t"> <span class="nam">required_scopes</span><span class="op">=</span><span class="nam">required_scopes</span> <span class="key">or</span> <span class="op">[</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
272
|
-
<p class="pln"><span class="n"><a id="t190" href="#t190">190</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
273
|
-
<p class="mis show_mis"><span class="n"><a id="t191" href="#t191">191</a></span><span class="t"> <span class="nam">configure_auth</span><span class="op">(</span><span class="nam">config</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
274
|
-
<p class="pln"><span class="n"><a id="t192" href="#t192">192</a></span><span class="t"> </span><span class="r"></span></p>
|
|
275
|
-
<p class="pln"><span class="n"><a id="t193" href="#t193">193</a></span><span class="t"> </span><span class="r"></span></p>
|
|
276
|
-
<p class="mis show_mis"><span class="n"><a id="t194" href="#t194">194</a></span><span class="t"><span class="key">def</span> <span class="nam">get_auth_config</span><span class="op">(</span><span class="op">)</span> <span class="op">-></span> <span class="nam">AuthConfig</span> <span class="op">|</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
277
|
-
<p class="pln"><span class="n"><a id="t195" href="#t195">195</a></span><span class="t"> <span class="str">"""Get the current auth configuration.</span> </span><span class="r"></span></p>
|
|
278
|
-
<p class="pln"><span class="n"><a id="t196" href="#t196">196</a></span><span class="t"> </span><span class="r"></span></p>
|
|
279
|
-
<p class="pln"><span class="n"><a id="t197" href="#t197">197</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
|
|
280
|
-
<p class="pln"><span class="n"><a id="t198" href="#t198">198</a></span><span class="t"><span class="str"> AuthConfig if configured, None otherwise</span> </span><span class="r"></span></p>
|
|
281
|
-
<p class="pln"><span class="n"><a id="t199" href="#t199">199</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
282
|
-
<p class="mis show_mis"><span class="n"><a id="t200" href="#t200">200</a></span><span class="t"> <span class="key">return</span> <span class="nam">_auth_config</span> </span><span class="r"></span></p>
|
|
283
|
-
<p class="pln"><span class="n"><a id="t201" href="#t201">201</a></span><span class="t"> </span><span class="r"></span></p>
|
|
284
|
-
<p class="pln"><span class="n"><a id="t202" href="#t202">202</a></span><span class="t"> </span><span class="r"></span></p>
|
|
285
|
-
<p class="mis show_mis"><span class="n"><a id="t203" href="#t203">203</a></span><span class="t"><span class="key">def</span> <span class="nam">is_auth_configured</span><span class="op">(</span><span class="op">)</span> <span class="op">-></span> <span class="nam">bool</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
286
|
-
<p class="pln"><span class="n"><a id="t204" href="#t204">204</a></span><span class="t"> <span class="str">"""Check if authentication is configured.</span> </span><span class="r"></span></p>
|
|
287
|
-
<p class="pln"><span class="n"><a id="t205" href="#t205">205</a></span><span class="t"> </span><span class="r"></span></p>
|
|
288
|
-
<p class="pln"><span class="n"><a id="t206" href="#t206">206</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
|
|
289
|
-
<p class="pln"><span class="n"><a id="t207" href="#t207">207</a></span><span class="t"><span class="str"> True if authentication is configured, False otherwise</span> </span><span class="r"></span></p>
|
|
290
|
-
<p class="pln"><span class="n"><a id="t208" href="#t208">208</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
291
|
-
<p class="mis show_mis"><span class="n"><a id="t209" href="#t209">209</a></span><span class="t"> <span class="key">return</span> <span class="nam">_auth_config</span> <span class="key">is</span> <span class="key">not</span> <span class="key">None</span> </span><span class="r"></span></p>
|
|
292
|
-
<p class="pln"><span class="n"><a id="t210" href="#t210">210</a></span><span class="t"> </span><span class="r"></span></p>
|
|
293
|
-
<p class="pln"><span class="n"><a id="t211" href="#t211">211</a></span><span class="t"> </span><span class="r"></span></p>
|
|
294
|
-
<p class="pln"><span class="n"><a id="t212" href="#t212">212</a></span><span class="t"><span class="com"># Breaking change in Golf 0.2.x: Legacy auth system removed</span> </span><span class="r"></span></p>
|
|
295
|
-
<p class="pln"><span class="n"><a id="t213" href="#t213">213</a></span><span class="t"><span class="com"># Users must migrate to modern auth configurations</span> </span><span class="r"></span></p>
|
|
296
|
-
<p class="pln"><span class="n"><a id="t214" href="#t214">214</a></span><span class="t"> </span><span class="r"></span></p>
|
|
297
|
-
<p class="pln"><span class="n"><a id="t215" href="#t215">215</a></span><span class="t"> </span><span class="r"></span></p>
|
|
298
|
-
<p class="mis show_mis"><span class="n"><a id="t216" href="#t216">216</a></span><span class="t"><span class="key">def</span> <span class="nam">create_auth_provider_from_config</span><span class="op">(</span><span class="op">)</span> <span class="op">-></span> <span class="nam">object</span> <span class="op">|</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
299
|
-
<p class="pln"><span class="n"><a id="t217" href="#t217">217</a></span><span class="t"> <span class="str">"""Create an auth provider from the current configuration.</span> </span><span class="r"></span></p>
|
|
300
|
-
<p class="pln"><span class="n"><a id="t218" href="#t218">218</a></span><span class="t"> </span><span class="r"></span></p>
|
|
301
|
-
<p class="pln"><span class="n"><a id="t219" href="#t219">219</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
|
|
302
|
-
<p class="pln"><span class="n"><a id="t220" href="#t220">220</a></span><span class="t"><span class="str"> FastMCP AuthProvider instance or None if not configured</span> </span><span class="r"></span></p>
|
|
303
|
-
<p class="pln"><span class="n"><a id="t221" href="#t221">221</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
304
|
-
<p class="mis show_mis"><span class="n"><a id="t222" href="#t222">222</a></span><span class="t"> <span class="nam">config</span> <span class="op">=</span> <span class="nam">get_auth_config</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
305
|
-
<p class="mis show_mis"><span class="n"><a id="t223" href="#t223">223</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">config</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
306
|
-
<p class="mis show_mis"><span class="n"><a id="t224" href="#t224">224</a></span><span class="t"> <span class="key">return</span> <span class="key">None</span> </span><span class="r"></span></p>
|
|
307
|
-
<p class="pln"><span class="n"><a id="t225" href="#t225">225</a></span><span class="t"> </span><span class="r"></span></p>
|
|
308
|
-
<p class="mis show_mis"><span class="n"><a id="t226" href="#t226">226</a></span><span class="t"> <span class="key">return</span> <span class="nam">create_auth_provider</span><span class="op">(</span><span class="nam">config</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
309
|
-
</main>
|
|
310
|
-
<footer>
|
|
311
|
-
<div class="content">
|
|
312
|
-
<p>
|
|
313
|
-
<a class="nav" href="z_6fcdee0582ba84e4__endpoints_fallback_py.html">« prev</a>
|
|
314
|
-
<a class="nav" href="index.html">^ index</a>
|
|
315
|
-
<a class="nav" href="z_1c9a91c0e91c8496_api_key_py.html">» next</a>
|
|
316
|
-
|
|
317
|
-
<a class="nav" href="https://coverage.readthedocs.io/en/7.6.12">coverage.py v7.6.12</a>,
|
|
318
|
-
created at 2025-08-16 18:46 +0200
|
|
319
|
-
</p>
|
|
320
|
-
</div>
|
|
321
|
-
</footer>
|
|
322
|
-
</body>
|
|
323
|
-
</html>
|