文章类型

原创Vue + Volo.Abp 实现OAuth2.0客户端授权模式认证

Vue + Volo.Abp 实现OAuth2.0客户端授权模式认证
只需要清除vuex或Cookies中的token即可,可以调用vue-oidc-client的signOut,但只是跳转到配置的登出地址,不会清除token(前提是redirectAfterSignout为true,并设置了post_logout_redirect_uri)创建continue/index.vue,简单的显示登录成功的提示,常用的提示有“登录成功,正在为您继续”,“登录成功,正在为您跳转”等友好提示。(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。

原创[Asp.Net Core] 网站中的XSS跨站脚本攻击和防范

[Asp.Net Core] 网站中的XSS跨站脚本攻击和防范
跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Web脚本代码(html、javascript、css等),当用户浏览该页面时,嵌入其中的Web脚本代码会被执行,从而达到恶意攻击用户的特殊目的。源代码出自:https://www.cnblogs.com/OleRookie/p/5970167.html。重新访问,成功触发了XSS弹窗。

原创用Abp实现找回密码和密码强制过期策略

用Abp实现找回密码和密码强制过期策略
用户找回密码,确切地说是,为了保证用户账号安全,原始密码将不再以明文的方式找回,而是通过短信或者邮件的方式发送一个随机的重置校验码(带校验码的页面连接),用户点击该链接,跳转到重置密码页面,输入新的密码。这个重置校验码是一次性的,用户重置密码后立即失效。用户找回密码是在用户没有登录时进行的,因此需要先校验身份(除用户名+密码外的第二种身份验证方式)。第二种身份验证的前提是绑定了手机号或者邮箱,如果没有绑定,那么只能通过管理员进行原始密码重置。

原创用Abp实现两步验证(Two-Factor Authentication,2FA)登录(三):免登录验证

用Abp实现两步验证(Two-Factor Authentication,2FA)登录(三):免登录验证
常用的实现方式是在用户登录成功后,生成一个随机的字符串Token,将此Token保存在用户浏览器的 cookie 中,同时将这个字符串保存在用户的数据库中。当用户再次访问时,如果 cookie 中的字符串和数据库中的字符串相同,则免登录验证通过。rememberClientToken是存储于cookie中的,当用户登出时不需要清空cookie中的rememberClientToken,以便下次登录跳过两步验证。为了安全,Token采用对称加密传输存储,同时参与校验的还有用户Id,以进一步验证数据一致性。

原创Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块

Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块
这是一篇系列博文,我将使用Abp.Zero搭建一套集成手机号免密登录验证与号码绑定功能的用户系统:第三方身份验证在Abp中称之为, 区别于Abp的,这里Auth的全称应为Authorization,即授权。首先来厘清这两个不同的业务在Abp中的实现,我之前写的这篇系列文章中描述的业务,即使用的Abp外部身份授权(ExternalAuth)的相关扩展而实现的。还记得我们实现的WeChatAuthProvider吗?它继承于ExternalAuthProviderApi这个抽象类,实现的微信授权功能。

原创[学习笔记]Linux + Nginx环境下部署 Web 站点

[学习笔记]Linux + Nginx环境下部署 Web 站点
首先更改server区域内容,root为你的站点根目录,注意不要指定任何index入口,因为这是目录。出现“blockedbyCORSpolicy”,未将网站域名添加至允许跨域访问设置。拷贝dist.zip到目标服务器的文件夹下,这里以~/下载为目标。若出现无法访问,网站报403或者404,请查看nginx日志。等待打包结束,成功后将在根目录下生成dist文件夹。部分错误可参照Troubleshooting解决。将站点文件移动至/var/www/{站点名称}/.........

原创使用 Abp.Zero 搭建第三方登录模块(三):网页端开发

使用 Abp.Zero 搭建第三方登录模块(三):网页端开发
在此之前我们需写一个参数传递对象,为了保留一定的扩展能力,data中我们定义loginExternalForms,已经实现的微信小程序登录,则对应的authProvider值为“WeChatAuthProvider”,providerAccessCode则为生成的Token值。上一章,我们介绍了服务端的开发,这次我们需要调用GetACode,GetToken,分别获取小程序码,和获取当前状态。afterLoginSuccess函数用于登录成功后的逻辑,停止计时器,并跳转页面,本实例仅做弹窗提示。......

原创使用 Abp.Zero 搭建第三方登录模块(一):原理篇

使用 Abp.Zero 搭建第三方登录模块(一):原理篇
第三方登录是基于用户在第三方平台上(如微信,QQ, 百度)已有的账号来快速完成系统的登录、注册-登录等功能。以微信的鉴权为例:假如你的网站有一个扫码登录的功能,会弹出一个由微信提供的二维码页面,你需要用手机上的微信扫码,操作一下,就可以完成登录。如这个链接:微信登录 (qq.com) 嗯。从研发和使用上来说这是最快捷,也是目前大部分站点用的扫码登录方式。但这个是依赖于微信开放平台的功能,微信作为鉴权服务的提供方,有义务监管第三方的网站(你的网站相对于微信就是第三方),因此你需要有企业或组织的营业执照,经过

原创使用 Abp.Zero 搭建第三方登录模块(二):服务端开发

使用 Abp.Zero 搭建第三方登录模块(二):服务端开发
微信SDK库是针对微信相关 API 进行封装的模块 ,目前开源社区中微信SDK库数量真是太多了,我选了一个比较好用的EasyAbp WeChat库。EasyAbp/Abp.WeChat: Abp 微信 SDK 模块,包含对微信小程序、公众号、企业微信、开放平台、第三方平台等相关接口封装。 (github.com)当然这个库是ABP vNext 框架的,需要稍微改写一下。封装好后我们需要以下几个接口小程序码生成接口: 获取用户OpenId与SessionKey的接口我们先来回顾一下第三方登录在Ab

原创[Vue]写一个简单的文件上传控件

[Vue]写一个简单的文件上传控件
这篇将介绍如何写一个简单的基于Vue+Element的文件上传控件。控件将具有1. 上传队列的列表,显示文件名称,大小等信息,可以显示上传进度实时刷新2. 取消上传使用Element的uploader控件,上传文件的行为和样式不用自己全部实现,使代码简化。且有足够的扩展性,文件传输请求的代码可以基于axios完全自己重写。我们只用关心核心代码。搭建项目框架首先建立一个空白的项目,引入Element控件库,具体的操作和使用Element控件库请看官方文档:组件 | ..