angular数据请求 token验证
angualr的token 验证会经常用在登录,注册等地方
对于token的使用方法按照以下步骤进行使用即可
1.新建一个服务
ng g service services /+服务名
eg:ng g service services/player
会在根目录下出现一个叫service的服务文件夹
文件夹中会存在一个player.service,ts和一个player.service,spec.ts
2.在根目录下新建一个文件夹,是用来封装token的写法
eg: 文件夹的名字为utils
- 在文件夹中新建一个名字为token.util.ts的文件
- 打开此文件
- 在此文件中注入并声明 import {Injectable,BgModule} from '@angular/core'
- 声明引入的组件模块 @Injectable() @NgModule()
- 开始进行封装
export default class TokenUtil{
private name:string = 'jwt-token'
getToken():string {
return localStorage.getItem(this.name)
}
setToken(token:string):void{
localStorage.setItem(this.name,token)
}
}
- 在此文件夹中新建index.ts文件和noop-interceptor.ts文件
- 在index.ts中写入
/* "Barrel" of Http Interceptors */
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { NoopInterceptor } from './noop-interceptor';
/** Http interceptor providers in outside-in order */
export const httpInterceptorProviders = [
{ provide: HTTP_INTERCEPTORS, useClass: NoopInterceptor, multi: true },
];
- 在noop-inter-interceptor.ts文件中写入
- 先引用注入
import TokenUtil from '../../utils/token.util'
- import { AppRoutingModule } from './app-routing.module';
- @Injectable()
- export class NoopInterceptor implements HttpInterceptor {constructor(private tokenUtil: TokenUtil) { }intercept(req: HttpRequest<any>, next: HttpHandler){// Get the auth token from the service.const authToken = this.tokenUtil.getToken();// Clone the request and replace the original headers with// cloned headers, updated with the authorization.const authReq = req.clone({headers: req.headers.set('Authorization', `bearer ${authToken}`)});// send cloned request with header to the next handler.return next.handle(authReq);}}
- 在app.module.ts中引用和注入新建的一系列文件 TokenUtil 和 httpInterceptorProviders 组件
- 在@NgModule中的imports中声明一次
- TokenUtil
- ReactiveFormsModule
- 在providers中进行一次(使用)
4.在对应的组件中ts中进行一次使用 服务引用
angular数据请求 token验证的更多相关文章
- Ionic3的http请求如何实现token验证,并且超时返回登录页
要求 后台提供的接口,不能让人随便输入个链接就能访问,而是要加入一个token,token是动态的,每次访问的时候判断,有权限并且未过期的时候才可以访问接口. 后台的设计是 在登录的时候,首先要pos ...
- Token验证的流程及如何准确的判断一个数据的类型
Token验证的流程: 1,客户端使用用户名跟密码请求登录:2,服务端收到请求,去验证用户名与密码:3,验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端:4,客户端收到 T ...
- C# 响应微信发送的Token验证,文字、图文自动回复、请求客服对话.....
代码如下,有需要的可以参考: using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
- 客户端ajax请求为实现Token验证添加headers后导致正常请求变为options跨域请求解决方法
客户端为了实现token认证,通过Jquery的ajaxSetup方法全局配置headers: 全局配置headers后会导致部分不需要token认证的请求变为options请求,导致跨域访问.报错信 ...
- angular get 数据请求
数据请求 get 新建一个服务 1. ng g service services /+服务名 eg:ng g service services/player 在此服务中进行设置 引入自带组件以及注册 ...
- 【JWT】JWT+HA256加密 Token验证
目录 Token验证 传统的Token验证 JWT+HA256验证 回到顶部 Token验证 最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twi ...
- Token验证失败
Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...
- Token验证失败的解决方法
Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...
- 微信公众平台——token验证php版
这几天开始接触微信公众号的开发,注册这些就不说了,我是先弄了个测试号用着.进入正题 所谓token验证,其实就是微信服务器向自己要用到的服务器url发送一段数据,其中有一个参数$_GET['echho ...
随机推荐
- 基础html页面结构
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 英语cowbezoar牛黄cowbezoar单词
牛黄(cowbezoar)是脊索动物门哺乳纲牛科动物牛胆囊的胆结石.在胆囊中产生的称“胆黄”或“蛋黄”,在胆管中产生的称“管黄”,在肝管中产生的称“肝黄”. 中文学名牛黄 拉丁学名Bos taurus ...
- 英语chrysopal金绿宝石chrysopal单词
chrysopal金绿宝石,也称金绿玉.化学成分为BeAl2O4.晶体属正交(斜方)晶系的氧化物矿物.它位列名贵宝石,具有四个变种:猫眼,变石,变石猫眼和金绿宝石晶体. 金绿宝石本身就是较稀少的矿物, ...
- 你的MES系统又失败了?正确的打开方式在这里
都知道MES实施艰难,真正成功的很少:有人戏称:10个MES,7个失败.1个不死不活.1个伪成功,最后一个仍需努力. 导致MES实施失败的原因有很多,所谓“成功的MES是一样的,失败的MES各有各的失 ...
- Solr核心特性【启动机制,配置管理,请求管理】
一.启动机制 Solr作为一个Java Web应用默认运行在Jetty上,使用全局Java属性[solr.solr.home]来定位配置文件的根目录.在启动时,Solr会扫描主目录下包含core.pr ...
- Mysql-MariaDB设置延迟同步
CHANGE MASTER TO MASTER_DELAY = N; N为秒数
- html中常用的转义字符总结
不断行的空格 半方大的空格 全方大的空格 < 小于 < > 大于 > & &符号 " 双引号" © 版权符号© ...
- 《Pro Continuous Delivery With Jenkins 2.0》随书笔记
今天同时看完<Pro Continuous Delivery With Jenkins 2.0>, 这书与工作关系很大,但也是快速翻翻. 本书着重点jenkins高可用环境搭建,与gith ...
- encodeURIComponent() 函数可把字符串作为 URI 组件进行编码
语法 encodeURIComponent(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 组件或其他要编码的文本. 返回值 URIstring 的副本,其中的某 ...
- 在eclipse中打jar包
在Eclipse中打jar包 步骤: 1. 在项目名称中点击右键,点Export... 2.选择java-->Java File, next 3. 选择你打算打包的文件.可以选择某几个文件,也可 ...