栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Javascript中实现安全的OAuth2使用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Javascript中实现安全的OAuth2使用?

该隐格兰特流(你指的是作为一个 用户代理流量 )正好是要走的路:

隐式授权是简化的授权代码流程,该流程针对使用脚本语言(例如Javascript)在浏览器中实现的客户端进行了优化。

要了解流程,Google的客户端应用程序文档是一个很好的起点。请注意,他们建议您采取额外的
令牌验证 步骤,以避免混淆的代理问题。

<script type="text/javascript" charset="utf-8">  $(function () {    var extractToken = function(hash) {      var match = hash.match(/access_token=([w-]+)/);      return !!match && match[1];    };    var CLIENT_ID = YOUR_CLIENT_ID;    var AUTHORIZATION_ENDPOINT = "https://soundcloud.com/connect";    var RESOURCE_ENDPOINT = "https://api.soundcloud.com/me";    var token = extractToken(document.location.hash);    if (token) {      $('div.authenticated').show();      $('span.token').text(token);      $.ajax({          url: RESOURCE_ENDPOINT        , beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', "OAuth " + token); xhr.setRequestHeader('Accept',        "application/json");          }        , success: function (response) { var container = $('span.user'); if (response) {   container.text(response.username); } else {   container.text("An error occurred."); }          }      });    } else {      $('div.authenticate').show();      var authUrl = AUTHORIZATION_ENDPOINT +         "?response_type=token" +        "&client_id="    + clientId +        "&redirect_uri=" + window.location;      $("a.connect").attr("href", authUrl);    }  });</script><style>  .hidden {    display: none;  }</style><div >  <a  href="">Connect</a></div><div >  <p>    You are using token    <span >[no token]</span>.  </p>  <p>    Your SoundCloud username is    <span >[no username]</span>.  </p></div>

要使用AngularJS
发送XMLHttpRequests(该

ajax()
函数在jQuery中的功能),请参阅其
$http
服务文档。

如果要保留状态,则在将用户发送到授权端点时,请签出该

state
参数。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号