openid

微信网页静默授权 --- snsapi_base

断了今生、忘了曾经 提交于 2020-12-13 14:43:01
在微信网页中,可能只需要得到openId,那么我们需要使用静默授权方式。 1. 初始化过程中判读是否存在code async created () { let code = this.getQueryString('token') if (code) { await this.getUser(code) } else { this.getCode() } } 2. 获取code方式 getCode() { let urlNow = encodeURIComponent(window.location.origin + window.location.pathname) let url = `${后端域名}/url?brand=${公众号品牌名称}&url=${urlNow}&scopes=snsapi_base` window.location.replace(url) }  3. 截取token【用于请求后端接口,获取openId】 // 获取url参数 getQueryString (name) { let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') let r = window.location.search.substr(1).match(reg) if (r != null) { return

微信公众平台的静默授权和网页授权区别详解

余生长醉 提交于 2020-12-13 14:30:40
微信的授权功能应该是公众平台每天被调用最多的一项功能了,他可以获取用户信息,判断你是否关注了公众号,还有对于开发者最重要的:它能够拿到你在公众平台的唯一标示:openid 但是很多客户其实不知道,微信登录分为两类: 1、静默授权 静默授权不需要用户确认,只需要用户访问某个网页,属于嵌套在普通网页里的授权形式,但是只能获取到用户的唯一标示openid,无法获取用户的个人信息 2、网页授权    网页授权是一种通过用户确认,来获取用户的openid、个人信息、关注信息等的接口返回形式,获取的格式如下:    这两种授权方式虽然结果不同,但是调用方法大致相同    静默授权和网页授权分别调用的接口是snsapi_base和snsapi_userinfo 静默授权的代码示例    网页授权的代码示例    两个接口要访问同一个公共获取信息接口    此外还要提醒一下各位 1、无论是静默授权还是网页授权,均不需要进入开发者模式 2、redirect_uri参数错误的原因是由于在微信后台未设置安全域名。 3、网页授权域名只有一个,如果需要多个域名配置,请在主服务器增加一个code转发页面。 来源: oschina 链接: https://my.oschina.net/u/4414502/blog/3791749

全栈项目|小书架|微信小程序-登录及token鉴权

别来无恙 提交于 2020-12-13 01:39:30
小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方的这张时序图了解小程序的登录流程: 从流程图上可以看出微信小程序登录需要先调用 wx.login() 获取 临时登录凭证 code ,并回传到开发者服务器。然后在服务器端调用 auth.code2Session 接口,换取 用户唯一标识 openid 和 会话密钥 session_key 等信息。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。 登录方式 wx.login() 是在微信小程序端登录的时候调用,而常见的登录方式有以下几种: 启动小程序之后弹出登录弹窗 点击特定按钮登录 二者结合实现 登录实现 我这里的实现是通过 点击登录按钮 实现登录。在《小书架》项目中有两处可以进行登录。 我的页面,未登录会显示登录区域 在文章详情页面,未登录会弹出登录弹窗 在点击了登录按钮之后会调用下面的代码,将登录凭证发给服务器: wx.login({ success: function(loginRes) { if (loginRes.code) { let userStorageInfo = wx.getStorageSync('userInfo'

locust压测入门

不羁的心 提交于 2020-12-10 19:35:59
一、安装 pip install locust 了解locust相关命令:locust --help 二、获取当前CPU核心数 (后面需要根据核心数起进程) pip3 install psutil ``` import pustil print(pustil.cpu_count(False)) ``` 三、准备压测脚本(lc.py): ``` # 这是一个压测的临时脚本. import requests import json import uuid import time from locust import between, task, constant from locust.contrib.fasthttp import FastHttpUser import random # from utils.data import data data = { "header": [["query"]], "data": [ {"query": "后海大鲨鱼"}, {"query": "这个衣服宽松不"}, {"query": "包装好点"}, ], } class WebsiteUser(FastHttpUser): wait_time = between(1, 1) host = "http://nta-api-ks.leyanbot.com" def body(self):

ASP.NET Core 认证与授权[4]:JwtBearer认证

▼魔方 西西 提交于 2020-12-06 08:29:10
原文: ASP.NET Core 认证与授权[4]:JwtBearer认证 在现代Web应用程序中,通常会使用Web, WebApp, NativeApp等多种呈现方式,而后端也由以前的Razor渲染HTML,转变为Stateless的RESTFulAPI,因此,我们需要一种标准的,通用的,无状态的,与语言无关的认证方式,也就是本文要介绍的 JwtBearer 认证。 目录 Bearer认证 JWT(JSON WEB TOKEN) 头部(Header) 载荷(Payload) 签名(Signature) 示例 模拟Token 注册JwtBearer认证 添加受保护资源 运行 扩展 自定义Token获取方式 使用OIDC服务 源码探索 JwtBearerPostConfigureOptions JwtBearerHandler Bearer认证 HTTP提供了一套标准的身份验证框架:服务器可以用来针对客户端的请求发送质询(challenge),客户端根据质询提供身份验证凭证。质询与应答的工作流程如下:服务器端向客户端返回401(Unauthorized,未授权)状态码,并在WWW-Authenticate头中添加如何进行验证的信息,其中至少包含有一种质询方式。然后客户端可以在请求中添加Authorization头进行验证,其Value为身份验证的凭证信息。 在HTTP标准验证方案中

微信小程序登录(包括获取不到unionid的情况)

强颜欢笑 提交于 2020-12-05 10:20:38
我们一般都是先获取到微信的 unionid,然后再通过 unionid 去登录自己的网站,就可以关联到用户在自己网站上的 user_id,但是在小程序登录中,有时候可以获取到 unionid,有时候获取不到,在获取不到 unionid 的情况下,用户无法正常登录网站。 UnionID机制说明:     如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的。   同一个微信开放平台下的相同主体的 App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过 wx.login 获取到该用户UnionID,无须用户再次授权。(解读:用户如果没有登录过app,也没有登录过公众号,也没有关注过公众号的情况下,小程序中通过 wx.login 是获取不到 unionid的)   简而言之,微信针对不同的用户在不同的应用下都有唯一的一个 openId, 但是要想确定用户是不是同一个用户,就需要靠 unionid 来区分。   通常自己的后台都会有自己的一个用户表,每个用户有不同的 userid

Obtain id_token with Keycloak

こ雲淡風輕ζ 提交于 2020-12-02 07:11:45
问题 Who knows how to obtain the id_token with Keycloak ? I have been working with Keycloak in Java (Spring, JEE) and postman. The basics work fine but I need the id_token since there are some claims that they are not present in the access_token but they are present in the id_token . Using the keycloak-core library I could obtain the Keycloak context, but the id_token attribute always is null. Some idea? 回答1: If you are using keycloak version 3.2.1, then below mail chain will help you. Hi All I am

CompTIA Security+笔记总结 (SY0-501) Chapter 2

霸气de小男生 提交于 2020-11-30 11:04:21
CompTIA Security+ SY0-501 笔记 Chapter 2 Understanding Identity and Access Management 0. Mind Map 1. Identification & AAA Identification occurs when users claim (or profess) their identity with identifiers, such as usernames or email addresses. Users then prove their identity with authentication, such as with a password. In this context, a user’s credential refers to both a claimed identity and authentication. It is worth noting that authentication is not limited to users, but services, processes, workstations, servers, and network devices all use authentication to prove their identities.

一文读懂联邦认证

只谈情不闲聊 提交于 2020-11-21 00:34:29
什么是联邦认证 在互联网早期,你的各类账号信息分散在不同的站点和应用,这存在以下问题: 每次访问一个新的站点都要注册一个新的用户名和密码账号。 这个账户就仅仅被存储在这个站点。 你无法在不同的站点下保持登录,用户的信息在不同的站点间也无法互通。 联邦认证通过 标准协议 将不同的身份提供商 联合起来 对用户进行认证。 联邦 是一种身份提供商之间的 信任关系 ,建立联邦关系的身份提供商之间可以通过 标准协议 互相拉取用户信息。 为什么需要联邦认证 联邦认证是一种 分布式 的身份认证,当用户在 身份提供商 登录时,用户可以选择到当前身份提供商 信任的联邦身份提供商 登录。用户可以通过联邦认证登录一个新的系统,而不必每次在新的系统中注册账号。例如现在许多网站有自己的 账密注册 登录方式,也有微信扫码直接登录的方式,其中的微信就是这个网站的 身份联邦 ,用户 不必填写信息 注册账号, 直接使用微信 就可以登录。 使用联邦认证有以下好处: 用户不必每次都要创建一个全新的账号。 接入联邦认证后用户可以在不同的组织和站点中畅游。 联邦认证原理 以下是联邦认证的过程,用户被重定向到身份联邦进行认证,用户先在身份联邦认证,身份联邦认证向 Authing 发送身份断言,等价于用户在 Authing 完成认证,Authing 再向业务系统发送身份断言,业务系统完成登录。 Authing 的联邦认证能力

asp.net core 3.x Identity

走远了吗. 提交于 2020-11-20 07:26:39
一、前言 这方面的资料很多,重复的写没必要,但是最近一直在学习身份验证和授权相关东东,为了成体系还是写一篇,主要是从概念上理解identity系统。 参考: https://www.cnblogs.com/r01cn/p/5179506.html 二、概述 几乎所有系统都包含用户、角色、权限、登录、注册等等,以前我们通常是自己来实现,定义各种实体、以及对应的Repository、Service类,其实这些功能早在.net 2.0就已有实现,并且一直在进化,要么是因为大家不了解,要么是因为觉得扩展性不强,最终使用微软提供的用户管理的人不多,这里就不扯以前的事了。现在的asp.net core延续了.net framework最后一次实现的Identity,暂且称为“标识系统”吧。我的理解是它主要 提供用户管理、角色管理等功能,并且提供了相关的类与身份验证系统结合,还包括持久化和UI,还提供了很多扩展点 ,当然预留了很多扩展点,也提供了默认实现,就使用起来。用还是不用了解之后再做决定也不迟。 身份验证、授权、用户/角色管理这三个系统是独立的,只是授权依赖身份验证,你要判断某人能干啥,至少得让他先登录吧。所以identity系统不是必须的,但是用它比自己实现更方便。另一个原因一些开源框架对于用户、角色、权限、登录这些东西往往也是直接使用的微软原生的,只是做了些许扩展和集成。 主要概念包括