如果你可以轻松地在Python中扩充标题,我建议你使用令牌认证.Microsoft不直接提供此类auth,而是通过OWIN项目提供.这并不难,但你需要先了解它的工作原理.有一个很好的和全面的教程在这里.
基本上,您通过提供用户名/密码来获取令牌(在一段时间内有效).此令牌已加密/签名,这意味着您的后端将信任,无需在每个请求上验证用户名/密码(这是昂贵的).然后,您需要将此标记添加到标头Authorization bearer token或类似的每个请求.或者,我认为如果您愿意,可以在cookie中使用令牌以保持向后一致性.
我建议您在Angular中使用相同的机制,因为您可以轻松地在那里添加拦截器并避免使用cookie和CSRF潜在的麻烦.
使用与您当前使用的完全相同的身份验证方法。
这是一个使用 python 的基本示例(未经测试):
from requests.auth import HTTPBasicAuth
s = requests.Session()
# Make the initial authentication request from a session object
s.get('https://omg.wtf/user', auth=HTTPBasicAuth('user', 'pass'))
# All subsequent requests from that session will include any cookies set in the initial response
r = s.get('http://omg.wtf/911')
print(r.text)
Run Code Online (Sandbox Code Playgroud)