如何在ServiceStack服务中获取Bearer Token字符串以调用Microsoft Graph
获取ServiceStack服务中的Bearer Token字符串
直接从请求头提取
在ServiceStack服务中,最直接的方式是从请求的Authorization头中解析Bearer Token:
var authHeader = Request.Headers["Authorization"]; if (!string.IsNullOrEmpty(authHeader) && authHeader.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase)) { var bearerToken = authHeader.Substring("Bearer ".Length).Trim(); // 将该token传入Microsoft Graph API调用 }
利用ServiceStack会话上下文获取
如果你的ServiceStack服务配置了AuthFeature(比如使用JWT认证),可以通过会话直接获取已存储的Token:
var session = SessionAs<AuthUserSession>(); var bearerToken = session.GetAuthToken();
这种方式适用于Token已被ServiceStack处理并存入会话的场景,无需手动解析请求头。
最优方案选择
- 若需要原请求携带的Token调用第三方API,优先使用请求头提取的方式,避免依赖会话存储的中间状态,结果更准确。
- 若业务逻辑依赖ServiceStack会话中的Token,使用会话上下文的方式更简洁。
内容的提问来源于stack exchange,提问作者Jan Martin
相关产品推荐
相关产品推荐

