在offline_access到期之后,我正在做一些测试.我认为,因为我的应用程序与Facebook进行的所有交互都是通过我的服务器完成的,并且是由用户在几个应用程序端点(手机应用程序,网站,桌面应用程序)上的用户活动启动的,我可以使用应用程序访问令牌发布到墙上代表我的用户,假设即使我在授权期间请求的访问令牌过期,应用程序仍然是被授权的.这似乎是这里的文档暗示的内容
作为应用程序进行身份验证允许您获取访问令牌,该令牌允许您代表应用程序而不是用户向Facebook API发出请求.[...] App访问令牌也可用于代表已授予您应用程序发布权限的用户向Facebook发布内容.
App Access令牌通常不会过期.生成后,它们无限期有效.
但是,我需要测试一下.所以我需要使一些令牌过期.我尝试使用您在开发者网站中创建的官方测试用户,这些用户只能与您应用的沙箱和其他用户进行交互,但他们的令牌似乎永久有效一小时.
所以我尝试使用我为此创建的真正的facebook用户,并且更改我读过的密码应该使令牌过期.但事实并非如此.令牌仍然在调试器中报告有效,我仍然可以将它用于很多事情,包括发布到我的墙上.完全退出Facebook网站后,我甚至可以继续使用此令牌.
是什么赋予了?如何获得过期的access_token以便我可以测试我的应用程序访问令牌?
编辑:我认为它会起作用.我创建了我的应用程序访问令牌并使用CLIENT-SIDE流来获取仅持续2个小时的用户访问令牌,因此我实际上可以等待它过期.到期后,我使用Graph API资源管理器尝试发布状态更新,但未能告诉我令牌何时到期.然后,我使用成功的应用程序令牌尝试了相同的操作.
所以我试图让我的应用程序使用动态压缩和gzip发送其JSON响应.不幸的是,这不起作用.服务器上的所有静态压缩都运行正常,但不是动态的.
我通过添加以下内容来设置:
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json; charset=utf-8" enabled="true" />
Run Code Online (Sandbox Code Playgroud)
到applicationHost.config文件中的<dynamicTypes>
部分<httpCompression>
.我正在使用Charles检查HTTP请求,我可以验证我是否使用Accept-Encoding: gzip, deflate
标头集发送请求.我已经试过这两个Accept: */*
和Accept: application/json
.当它不工作时,我启用了"失败请求"跟踪日志记录来查找错误代码DYNAMIC_COMPRESSION_NOT_SUCCESS
,这是NO_MATCHING_CONTENT_TYPE
.
我一直在尝试研究论坛和谷歌,但我所能看到的是人们说使用指定的字符集的mimeType修复了他们的问题,但在我的情况下,它仍然无法正常工作,我可以验证响应来了回头说头 Content-Type: application/json; charset=utf-8
为JSON响应提供服务的端点是[ScriptService()]
在类和[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
方法上注释的标准.NET ASMX WebServices .他们返回JSON很好,但我不能让动态压缩为我的生活工作.
由于这些是常规的Web方法,我还添加了:
<add mimeType="text/xml" enabled="true" />
<add mimeType="text/xml; charset=utf-8" enabled="true" />
Run Code Online (Sandbox Code Playgroud)
尝试gzip XML响应.令人沮丧的是,这种压缩在从同一方法发送JSON时不起作用.在这一点上,我很茫然.
我很好奇2017年4月最现代的方式是使用外部配置构建一个Angular 2应用程序进行部署?
遵循Build Once Deploy Anywhere的理念,我想弄清楚如何将我的Angular 2应用程序打包为Docker镜像,我可以将其放到任何服务器上并从外部进行配置.
我已经使用此应用程序的大多数其他组件(包括Spring Boot后端)完成此操作,但是使用Angular 2执行此操作的最佳方法很难确定,因为在beta版本之间框架发展如此之大,以至于很多信息都是外的日期.
我有一个带有NPM的Angular 2.4.9,用于在Node Docker容器中运行的包管理,作为具有特定环境的JIT应用程序.在构建时将其烘焙到映像中.我想获得AoT编译的大小和速度优势以及最终的缩小和其他下载大小增强,但是AoT将environment.ts文件的内容直接烘焙到main.bundle.js中,所以根本没有办法之后改变它ng build
Angular2-webpack-starter项目看起来非常过时,并且与Angular-CLI 无关,但是这里有这个方法,它似乎设置了引用OS环境变量的config/webpack.ENV.js文件.我觉得环境变量对于很多应用程序来说有点过于复杂,但它总比没有好.但是我如何在Angular-CLI术语中应用它,还是有更好的方法?
据我所知,Angular-CLI过度抽取webpack来直接访问webpack和插件配置以遵循这种方法.但是我可以在我的环境中引用process.env.ts和Bob是你的叔叔还是比这更复杂?
我需要破解打开main.bundle.js之间改写位var environment = {
和//# sourceMappingURL=environment.js.map
?对于像Angular这样受欢迎的东西,这似乎是不必要的hacky.
我有一种情况,我一直在使用Resolve在导航到组件之前通过HTTP调用从远程源预加载一些数据.现在我需要实现一些保护逻辑,这需要根据某些条件预先加载数据以验证当前用户的某些字段.
我想避免向CanActivate
守卫中的后端发出完全相同的请求,然后立即向后卫发出相同的请求Resolve
.
有没有什么方法可以从CanActivate
路径配置或路由配置中访问路由数据来临时覆盖解析器,只是设置数据对象的值,因为我已经得到了我要请求的内容?
我试着逃避一些简单的事情
route.data['myData'] = value;
Run Code Online (Sandbox Code Playgroud)
但这是一个错误,因为"对象不可扩展".
我也试过类似的东西:
this.router.routerState.root.data['myData'] = value;
Run Code Online (Sandbox Code Playgroud)
哪个没有产生任何错误,但是数据没有存活到方法的route.data
元素中Resolve.resolve()
.
我想避免像定制或hacky这样的东西,就像临时将对象存储在服务上一样,就像某种缓存一样.是否有任何标准机制在内部路由器元素之间传输数据以支持高级预取和数据所有权检查等内容?
编辑
如果将路由器注入到Resolve
类的构造函数中,并且以相同的方式访问它,则routerState可以正常工作.但这需要在之后清除,否则它会在导航呼叫之间保持不变.
我在概念上理解有关版本化资源的URL的正确方法.
假设我有一个应用程序,它以非常类似于版本控制系统的方式跟踪食谱,就像RCS之类的旧学校一样.每个版本可以是一段时间的工作副本,然后从中创建一个新版本.每个版本都有与之关联的注释,不会共享注释.我可以随时回顾历史并查看配方的演变,但每个实例始终被视为同一配方的版本.我正在尝试找出构建URL以引用这些的最合适的方法,并且我无法理解类似子资源和时间资源之间的一些差异等.
我看到这两个主要方式是:
> 1) query parameters
> -- /recipes/ultimate-thing -> List of available versions of Ultimate Thing
> -- /recipes/ultimate-thing?version=2 -> Version 2 of Ultimate Thing
> -- /recipes/ultimate-thing?version=latest -> Current working version of Ultimate Thing
2a) Nested resources with versions considered subresources
-- /recipes/ultimate-thing/versions/ -> List of available versions of Ultimate Thing
-- /recipes/ultimate-thing/versions/2 -> Version 2 of Ultimate Thing
-- /recipes/ultimate-thing -> Current working version of Ultimate Thing
2b) Nested resources with the list at the resource …
Run Code Online (Sandbox Code Playgroud) angular ×2
.net ×1
angular-cli ×1
facebook ×1
iis-7 ×1
json ×1
npm ×1
rest ×1
restful-url ×1
webpack ×1