- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 Javascript 将授权 token 承载发送到 REST 端点,所以我这样做:
$.ajax( {
url: 'http://localhost:8080/resourceserver/protected-no-scope',
type: 'GET',
beforeSend : function( xhr ) {
xhr.setRequestHeader( "Authorization", "Bearer " + token );
},
success: function( response ) {
console.log(response);
}
我的端点在 SpringBoot 容器下运行,因此我正在获取 HttpServletRequest 并尝试获取 AUthorization header ,但始终为空:
static Authentication getAuthentication(HttpServletRequest request) {
String token = request.getHeader(HEADER_STRING);
//token is always null
...
编辑 1这是客户端(浏览器)的错误
OPTIONS http://localhost:8080/resourceserver/protected-no-scope 403 ()
Failed to load http://localhost:8080/resourceserver/protected-no-scope: Response for preflight has invalid HTTP status code 403.
编辑2为了在后端启用 CORS,我在 spring 中使用以下注释:
@RestController
@CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true", allowedHeaders = "Authorization", methods =
{RequestMethod.GET, RequestMethod.OPTIONS, RequestMethod.POST})
public class MyResource {
编辑3我尝试在过滤器中添加 CORS 但没有成功:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setHeader("Access-Control-Allow-Origin", httpServletRequest.getHeader("Origin"));
httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me");
Authentication authentication = TokenAuthenticationService
.getAuthentication(httpServletRequest);
SecurityContextHolder.getContext().setAuthentication(authentication);
filterChain.doFilter(request, response);
}
最佳答案
您可以使用headers
键添加标题
$.ajax({
url: 'http://localhost:8080/resourceserver/protected-no-scope',
type: 'GET',
contentType: 'application/json'
headers: {
'Authorization': 'Bearer <token>'
},
success: function (result) {
// CallBack(result);
},
error: function (error) {
}
});
您需要在后端启用 CORS
关于javascript - 通过 Javascript 发送授权 token 承载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51506579/
我能够CreateContainers、ListContainers、ListBlobs,但是当我尝试发出PUT/DELETE请求来上传或时>删除 Azure 存储 blob 中的文件,但发出请求后显
我想验证从浏览器应用程序传递过来的 API 中的不记名 token 。 API 将通过调用 ../userinfo 端点来验证针对 Keycloak 的 token ,如果检查运行正常,则以所需的内容
大家好,我正在关注 azure 的下一个教程: https://learn.microsoft.com/en-us/rest/api/apimanagement/current-ga/subscrip
我们即将开始集成测试我们的 REST API,这些 API 使用 ADAL.js/不记名 token /passport-azure-ad 进行保护。 现在讨论实际问题,在自动化测试中,我将如何获取不
我们即将开始集成测试我们的 REST API,这些 API 使用 ADAL.js/不记名 token /passport-azure-ad 进行保护。 现在讨论实际问题,在自动化测试中,我将如何获取不
我正在尝试通过 Javascript 将授权 token 承载发送到 REST 端点,所以我这样做: $.ajax( { url: 'http://localhost:8080/resourc
我有一个用于 SSO 的 .NET Core IdentityServer (IS),我想用它来对我的 .NET Core(后端)-Angular(客户端)应用程序进行身份验证。我希望在后端有一个 E
我需要为我的 API 发送我的 token 。我将我的 token 保存在 SharedPreferences 中,我可以恢复它。我的 API 需要一个,与 Bearer 但怎么办? 我测试了授权、H
根据RFC6750 -OAuth 2.0授权框架:不记名 token 使用,不记名 token 是: A security token with the property that any party
我们使用 Angular、.Net WebApi 和 Azure 构建多个应用程序。我们一直在做的是通过隐式 oAuth2/OIDC 授权流程通过 Azure AD 保护应用程序。 一切进展顺利,但到
使用 Owin + Oauth2 + Identity2。 我有一个带有默认基本身份验证设置的 web Api,我已对其进行修改。 我的 startup.cs 部分类 public void Conf
我的应用程序有一个自定义窗口设计,这意味着每个窗口都有以下参数集 (XAML):WindowStyle="无"AllowsTransparency="假" 其中一个子窗口需要显示一个 Flash 组件
我们正在开发具有 JWT Bearer 身份验证的 .Net Core 2.1 Web API。应用程序本身将生成并分发要发送到后端的 token 。 虽然我们已启动并运行所有内容,即我们可以从 An
我有带有 OWIN 管道的 ASP.NET 4.5 服务,它发出 OAuth access_token 以换取用户名/密码。该服务从 ng-app 调用,一旦它获得 token ,就会存储在浏览器的本
我有一个使用 Azure Active Directory 的 Java 后端应用程序。我正在使用 oauth2 不记名 token 登录。在后端,我正在搜索并使用 oauth2 属性“preferr
上周我为现有 MVC 应用程序创建了一个 API,现在正在尝试保护 API 并根据需要重新设计 MVC 端安全性。 目前,MVC 应用程序设置为通过 OWIN/OAuth/Identity 使用应用程
背景 我已经实现了 Thinktecture.IdentityServer.V3(openID Connect 之一)。我已将 OAuth2 承载 token 以以下形式返回到我的 javascrip
我不明白为什么这不起作用。我假设这是我忽略的简单事情。所有其他不使用 token 的测试方法都可以正常工作。目前 token 没有过期时间,我可以通过 Postman 很好地使用它。 @Test pu
在使用 passport 和 oauth2orize 实现 oauth2 堆栈时,在这种情况下,问题特别在于使用 oauth2orize jwt 承载。 oauth2orize jwt bearer
我正在我的 .NET Web 应用程序中实现 Web API 2 服务架构。消费请求的客户端是纯 javascript,没有 mvc/asp.net。我正在使用 OWIN 尝试根据本文 OWIN Be
我是一名优秀的程序员,十分优秀!