当前位置: 首页 > news >正文

公司营销型网站制作小程序赚钱吗

公司营销型网站制作,小程序赚钱吗,做翻译赚钱的网站,郑州建站系统费用建筑物身份管理#xff0c;包括身份验证和授权#xff1f; 尝试Stormpath#xff01; 我们的REST API和强大的Java SDK支持可以消除您的安全风险#xff0c;并且可以在几分钟内实现。 注册 #xff0c;再也不会建立auth了#xff01; OAuth 2.0令牌管理经常被误解并且难… 建筑物身份管理包括身份验证和授权 尝试Stormpath 我们的REST API和强大的Java SDK支持可以消除您的安全风险并且可以在几分钟内实现。 注册 再也不会建立auth了 OAuth 2.0令牌管理经常被误解并且难以正确实施。 幸运的是借助Stormpath的SDK和集成我们使令牌管理变得轻松有趣。 这个20分钟的教程将向您展示如何使用Stormpath的Spring Boot和Spring Security集成来实现令牌管理。 虽然Spring Security 确实内置了OAuth 2.0支持但是Spring Boot中没有本机令牌管理支持并且使用OAuth协议已知会导致荨麻疹冷汗和长时间的“面部办公桌”自发爆发。 Stormpath的Spring Boot集成支持两个OAuth流 grant_typepassword和grant_typerefresh_token 。 密码授予类型允许您传递用户名和密码并获取访问令牌和刷新令牌。 刷新令牌授予类型允许您传递刷新令牌并获取新的访问令牌。 它们都可以通过单个端点/oauth/token访问该端点可通过Stormpath集成直接使用。 所以不要害怕 Stormpath的令牌管理负责所有繁重的工作。 您只需要使用下面讨论的一些基本规则来创建HTTP请求。 本教程的资源 到本文结束时您将拥有将用户名和密码交换为一组令牌所需要的一切这些令牌使用户可以访问应用程序中的受限资源。 您还可以刷新和撤消令牌以更好地控制用户访问您的应用程序的方式以及他们保持登录状态的时间。 支持这篇文章的代码在这里 。 您可以在以下位置查看运行中的示例 https //jquery-spa.herokuapp.com 由于Heroku 睡眠策略您可能需要等待几秒钟才能使应用程序最初响应然后可以将其部署到您的现在使用下面的按钮使用Heroku帐户。 虽然令牌管理通常是幕后事务但此示例使用SPA或单页应用程序。 为了使示例简单并且与Javascript框架无关所有调用均使用jQuery的ajax功能进行。 现代令牌管理–访问和刷新令牌 在支持OAuth 2.0令牌管理的现代应用程序中用户会话通常具有一个具有较短到期时间的访问令牌和一个具有较长到期时间的刷新令牌。 当访问令牌过期时应用程序将使用刷新令牌来获取新的访问令牌。 重复此过程直到刷新令牌过期。 此时用户将需要再次登录该应用程序。 要深入了解OAuth令牌及其工作原理请查看我的同事Randall的帖子其中详细探讨了OAuth 。 JSON Web令牌JWT安全PSA OAuth 2.0规范未指定特定的令牌格式因此Stormpath使用JWT来表示访问令牌和刷新令牌。 JWT已将其他信息编码到其中更重要的是它们已被加密签名以提供确凿的证据证明令牌未被篡改。 Stormpath访问令牌还提供了重要的附加安全层–它们始终包含对关联的刷新令牌的引用。 该参考文献是由代码rti标识的权利要求。 这是Stormpath确保它是用于访问受保护资源的访问令牌而不是刷新令牌的一种方式。 OAuth 2.0的其他实现无意间允许刷新令牌充当访问令牌从而为用户提供了应有的更长访问时间。 我们对此保持警惕。 如果您想了解有关JWT以及如何安全使用JWT的更多信息请查看我们的帖子了解如何正确使用JWT 使用JWT 构建安全的用户界面以及将JWT 存储在何处 。 好的所有这些都让我们开始吧 Spring安全配置 在以下各节中我们将通过对Spring Boot应用程序中的后端/oauth/token端点进行的jQuery调用来探讨示例应用程序。 在开始之前让我们看一下该示例应用程序的Spring Security配置 Configuration public class SpringSecurityWebAppConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {http.apply(stormpath()).and().authorizeRequests().antMatchers(/).permitAll().antMatchers(/decode).permitAll().antMatchers(/static/**).permitAll();} } Stormpath的Spring Security集成遵循Spring Security的默认访问配置即所有路径均被锁定。 在以上配置中我们允许未经授权的访问/和/decode以及/static任何路径。 通过下面的示例我们将看到这一点。 让我们获取一些代币 在我们的SPA示例中有两个主要的静态文件 home.html和static/js/token-management-guided-tour.js 。 home.html是Thymeleaf模板其中加载了static/js/token-management-guided-tour.js Javascript文件。 这是home.html不同部分的视图 它分为7个步骤应用程序将引导您完成示例“导游”样式。 第一步是传递电子邮件和密码然后取回访问和刷新令牌。 让我们看看实际情况。 用电子邮件和密码登录 这是jQuery代码用于处理对/oauth/token端点的初始请求为简便起见省略了error和complete功能 $(#login-form).submit(function (e) {var theForm $(#login-form);$.ajax({type: post,url: /oauth/token,data: theForm.serialize(),success: function (data) {accessToken data.access_token;refreshToken data.refresh_token;var accessTokenParts accessToken.split(.);$.each([header, payload, signature], function (index, value) {$(#access-token- value).html(accessTokenParts[index]);});$(#login-error).hide();showOnlyDiv(access-token-div);}});e.preventDefault(); }); 第3行为我们提供了该表格的句柄。 根据OAuth规范该方法将为POST Content-Type为application/x-www-form-urlencoded 这是jQuery的$.ajax调用的默认设置。 传递给/oauth/token的数据将如下所示 grant_typepasswordusernameusernamepasswordpassword 这是第8行调用theForm.serialize()的结果。 从第9行开始的成功处理程序将access_token和refresh_token存储在局部变量中。 它还以JWT的可视表示形式在浏览器中显示access_token的各个部分标头有效负载和签名 注意如屏幕截图所示示例应用程序仅用于演示目的。 在“现实生活”中您不想在浏览器中显示访问令牌并且希望使用最佳实践在客户端应用程序中存储令牌。 我们在这里有关于这些最佳实践的精彩文章。 Stormpath访问令牌的剖析 在示例应用程序中如果单击“ Decode按钮您将看到类似以下内容 这显示了JWT的标头和有效负载部分它们是访问令牌。 要了解我们如何解码访问令牌我们需要看一下示例应用程序中APIController中的decode方法 RequestMapping(/decode) public JwsClaims decode(RequestParam String token) throws UnsupportedEncodingException {JwsClaims claims Jwts.parser().setSigningKey(client.getApiKey().getSecret().getBytes(UTF-8)).parseClaimsJws(token);return claims; } 该方法将JWT在本例中为我们的访问令牌作为参数并使用JJWT库解析声明。 它还将验证JWT签名在解析过程中是否有效。 为此它使用了Stormpath Client的机密该机密最初是用来创建JWT的。 最后该方法返回JwsClaims对象。 这是Spring Boot的自动Jackson JSON映射器启动并将该对象转换为JSON的地方。 这是原始响应的样子 {header: {kid: R92SBHJC1U4DAIMGQ3MHOGVMX,alg: HS256},body: {jti: 6UBPQ975cDDiz8ckHqWIZF,iat: 1456242057,iss: https://api.stormpath.com/v1/applications/2nBCvauLgETX8wO0VvS9mQ,sub: https://api.stormpath.com/v1/accounts/49CK1VvY2jQwUBH7UnP5zC,exp: 1456245657,rti: 6UBPQ5n0hcukMJWt5af1xB},signature: Pm30FjdXOmx_fMGhfku85Z9xc6qE-EZgKHI4mV46KO8 } 请注意已解码JWT的body 有效负载在sub 主题声明中包括对Stormpath帐户的引用。 访问受限资源时将使用该帐户我们将在后面看到。 使用访问令牌 解码访问令牌后本示例应用程序的导览中的下一步是使用该访问令牌来访问受限资源。 这是完成此任务的jQuery代码 $(#restricted).click(function () {$(#account-info-table tbody).empty();$.ajax({type: get,url: /restricted,success: function (data) {var newRowContent trtd data.fullName /tdtd data.email /td/tr;$(#account-info-table tbody).append(newRowContent);showOnlyDiv(account-info-div);}}) }); 您可能想知道上述代码中的身份验证在哪里。 登录时已按照上述步骤在浏览器中设置了Cookies。如果您在浏览器中查看检查器则会看到access_token一直传递到请求到/restricted端点。 在单独的浏览器会话中您可以尝试点击 http://localhost:8080/restricted 。 您将被重定向到/login 。 这是我们的Spring Security配置的功能。 /restricted路径不是我们在Spring Security配置中明确允许的路径之一因此必须对请求进行身份验证。 为了了解/restricted的响应让我们看一下APIController中的restricted方法 RequestMapping(/restricted) public AccountInfo restricted(HttpServletRequest req) {Account account AccountResolver.INSTANCE.getAccount(req);return new AccountInfo(account.getFullName(), account.getEmail()); } 这只是返回一个AccountInfo模型对象该对象具有经过身份验证的用户的全名和电子邮件地址。 在示例应用程序中定义的AccountInfo对象可以通过我们在上面看到的相同的自动Spring Boot映射器过程轻松转换为JSON。 上面的jQuery success函数显示从请求返回到/restricted的Account信息。 令牌管理令人耳目一新 我们旅程的下一步是使用刷新令牌来获取新的访问令牌。 在典型的移动应用程序中用户可能不知道以下情况 当前访问令牌已过期 用户尝试使用过期的访问令牌访问应用程序的受限部分 该应用程序收到401 未经授权的HTTP响应代码 应用程序使用刷新令牌来获取新的访问令牌 应用程序尝试使用新的访问令牌访问应用程序的受限部分 用户无需再次登录即可查看该请求的结果 注意如果刷新令牌已过期则应用程序的用户将需要在步骤4再次登录。 Stormpath在管理控制台中提供了OAuth策略以设置访问令牌和刷新令牌的到期时间。 看看OAuth政策 这是在Stormpath管理控制台中的OAuth策略 访问令牌的默认生存时间为1小时而刷新令牌的默认TTL为60天。 刷新访问令牌 当您在示例应用程序中单击“ Refresh the Access Token按钮时您将收到如下响应 这将显示在刷新过程中检索到的新访问令牌。 为了了解发生了什么我们回到jQuery代码为简便起见省略了成功处理程序 $(#refresh).click(function () {$.ajax({type: post,url: /oauth/token,data: grant_typerefresh_tokenrefresh_token refreshToken,success: function (data) {}}) }); 再次我们对/oauth/token端点进行HTTP POST 。 与grant_typepassword流不同在这种情况下我们使用的是grant_typerefresh_token 并且传入的是之前保存的Refresh Token。 来自此ajax调用的响应是一个新的访问令牌该令牌随后在浏览器中的旧访问令牌下方显示。 将代币踢到路边 我们的令牌管理游戏的最后一部分是撤销访问和刷新令牌。 这是通过点击内置 /logout端点将访问令牌提供为Bearer令牌来实现的就像我们之前访问受限资源时所做的那样。 让我们看一下完成此任务的jQuery代码 $(#revoke).click(function () {$.ajax({type: post,url: /logout,success: function () {showOnlyDiv(revoke-div);}}) }); 我们正在向/logout发送HTTP POST请求。 此时将删除包含access_token和refresh_token的cookie并在Stormpath后端撤消令牌。 这是在后台自动处理的。 该示例应用程序尝试再次点击/restricted路径。 结果看起来像这样 结果表明尝试使用已删除的访问令牌将无效。 综上所述 Stormpath的Spring Boot集成中提供了开箱即用的/oauth/token端点可启用现代令牌管理系统的所有功能。 在本文中我们介绍了什么是访问令牌和刷新令牌以及如何获取使用刷新和吊销它们。 您可以在以下位置查看本文中使用的示例应用程序 https : //jquery-spa.herokuapp.com或者您可以使用下面的按钮将应用程序部署到您自己的Heroku帐户。 建筑物身份管理包括身份验证和授权 尝试Stormpath 我们的REST API和强大的Java SDK支持可以消除您的安全风险并且可以在几分钟内实现。 注册 再也不会建立auth了 翻译自: https://www.javacodegeeks.com/2016/11/oauth-2-0-token-management-stormpath-spring-boot.html
http://wiki.neutronadmin.com/news/67115/

相关文章:

  • 网站更改备案信息在哪里小程序开发难吗
  • 迅雷网站做爰视频自己有货源怎么找客户
  • 深圳免费模板建站中国建设教育协会的网站查询
  • 做网站后台数据库建设公司网站经常打不开
  • 做海报文案的参考网站asp网站开发教程
  • 培训学校网站系统温州阀门网站建设
  • 网站建设的培训的感受网站seo招聘
  • 建网站需要多少钱项目管理系统软件开发
  • 做网站需要审批不wordpress 模版定制
  • 和君设计专业网站建设公司天津建设工程信息网登录不了
  • 儿童教育网站怎么做有趣巩义网站优化
  • 网站建设 有限公司html教程网站
  • 做物流的都是上什么网站wordpress域名根管
  • 企业网站建设首页要写什么内容怎么设计网页主页
  • 青岛 公司 网站建设湖南搜索引擎推广软件
  • 佛山做网站公司排名泉州seo关键词排名
  • 广州免费建站推荐用腾讯云做会员网站
  • 富顺网站建设做公司子网站的请示报告
  • 暗网是什么网站wordpress 主题 强大
  • 做网站目的对网站建设服务公司的看法
  • 南宁网站运营优化平台四川建设网项目招标公告
  • 佛山网站改版免费的关键词优化工具
  • 室内设计装修网站网页设计需要用什么软件
  • 企业的做网站php做视频直播网站
  • 企业官方网站制作做市场推广应该掌握什么技巧
  • 搭建织梦网站视频教程南昌seo网站推广
  • 跨国网站受欢迎的建网站哪家好
  • 郴州建设公司网站用html做的美食网站
  • alipay域名网站网页升级升级跳转
  • 公司网站应该是市场部做吗东莞清溪镇做网站公司