我最近阅读了Angularjs的Cookies vs Tokens,并实现了登录和身份验证部分,允许用户从登录页面登录.该应用程序设置为将帐户模块(负责登录,帐户注册,配置文件等)作为单独的页面,该页面将重定向到主应用程序的SPA.
成功登录后,令牌将作为JWT发送回登录页面客户端,并通过js设置sessionStorage/localStorage值.最后,用户被重定向(也通过js)到主应用程序.问题是因为我通过js重定向无法设置标头,这显然在加载页面时主应用程序中的auth失败(因为我的auth中间件高于静态和auth api请求).如果我尝试在表单发布后从服务器重定向而不是通过JSON成功返回令牌,则不会通过博客帖子中描述的js设置sessionStorage.
我已经提出了一些想法,并希望得到一些意见,如果其中任何一个对最佳实践有益.
从服务器设置响应验证cookie'仅限http'(我们所有的浏览器要求允许这个)cookie,在下一个主应用程序请求中读取.然后,服务器将读取cookie并允许提供安全的静态资产.我最初的想法是设置一个cookie,以便在每次请求时都使用Authorization标头,因为有时候即使在第一个api请求中删除了cookie,也可以读取cookie.
允许前面提到的静态资产加载而无需身份验证(html,css,application js)和第一个内部API请求(在加载时几乎立即需要应用程序),然后通过Angular的$ http拦截器进行访问以设置请求授权标头.如果发送回401,则相同的拦截器可以重定向到登录页面.
我认为第二种方法是更简单的方法,因为只需要在静态文件中间件下移动auth中间件然后在Angular中更新http拦截器,但是认为让静态文件能够加载然后重定向可能是不好的做法事后.任何输入都表示赞赏.
我刚刚安装了Android Studio(版本2.3),所以我可以使用现在内置的SDK/AVD GUI管理器,不推荐使用独立版.我在Windows 10上,这是一个全新的安装.我的目标是能够设置虚拟设备以及设置我自己的Android设备来运行NativeScript应用程序.安装后,SDK按钮可用,但AVD按钮被禁用(如下).
我安装了Android 7.1.1(Nougat)SDK平台和Intel x86 Emulator Acc.安装(下方).到目前为止,这是所有默认安装.
我已尝试安装/重新安装为管理员以及作为管理员打开此帖子无济于事.
默认情况下,默认情况下也会在项目结构中设置Android SDK主路径,构建目标和Java SDK.
对我在这里缺少什么的想法?
作为旁注,创建AVD的android帮助页面列出了一个不存在的菜单选项(tools - > android).
我正在考虑使用Jasmine(特别是Testacular)测试一个indexedDB设置.在应用程序内部我正在编写要打开,创建,删除等的数据库,没有任何问题.现在,当我尝试编写单元测试以确保正确地从服务中保存数据时,我不断收到错误,例如超时,Chrome资源面板(目前在Chrome 25上测试)不会显示使用正确的表格.什么是涉及测试indexedDB的简单实现?