如何使用iOS SDK通过微信进行授权和登录?关于堆栈溢出或google的信息似乎很少,大多数文档都是中文的。
选择在这里回答我自己的问题,因为关于堆栈溢出和google的信息似乎缺乏。我希望其他人也觉得它有用。
1.)遵循 Suragch 关于如何设置iOS SDK 的 出色回答:如何将WeChat
API添加到Swift项目?。确保AppDelegate
按照实施的funconReq(req: BaseReq!)
和func onResp(resp: BaseResp!)
方法进行设置。
3.)首先,我们要授权要与微信一起使用的应用程序。可以这样完成:
let req = SendAuthReq()
req.scope = "snsapi_userinfo" //Important that this is the same
req.state = "co.company.yourapp_wx_login" //This can be any random value
WXApi.sendReq(req)
这应该向func onResp(resp: BaseResp!)
我实现的方法返回一个代码,如下所示-触发通知:
func onResp(resp: BaseResp!) {
if let authResp = resp as? SendAuthResp {
if authResp.code != nil {
let dict = ["response": authResp.code]
NSNotificationCenter.defaultCenter().postNotificationName("WeChatAuthCodeResp", object: nil, userInfo: dict)
} else {
let dict = ["response": "Fail"]
NSNotificationCenter.defaultCenter().postNotificationName("WeChatAuthCodeResp", object: nil, userInfo: dict)
}
} else {
let dict = ["response": "Fail"]
NSNotificationCenter.defaultCenter().postNotificationName("WeChatAuthCodeResp", object: nil, userInfo: dict)
}
}
4.)使用代码,我们现在可以尝试获取openID和accessToken。为此,我们需要使用创建链接appID
,appSecret
并执行HTTPGET请求。该appID
和appSecret
是当您注册选择与微信的应用程序,你得到的细节。像这样的例子:
private let appID = "somecode2132113"
private let appSecret = "someappsecret213123"
private let accessTokenPrefix = "https://api.weixin.qq.com/sns/oauth2/access_token?"
private func buildAccessTokenLink(withCode code: String) -> String {
return accessTokenPrefix + "appid=" + appID + "&secret=" + appSecret + "&code=" + code + "&grant_type=authorization_code"
}
通过此链接,我们可以执行HTTP
GET请求openID
并accessToken
在JSON中获取和。(在邮递员中尝试)。我不会为此发布代码,但是我正在使用Alamofire。
5.)最后,我们可以更进一步,尝试获取微信用户的昵称和个人资料照片。与之前类似,我们使用openID
和accessToken
在之前的步骤中获得的来创建新链接。像这样:
private let userInfoPrefix = "https://api.weixin.qq.com/sns/userinfo?"
private func buildUserInfoLink(withOpenID openID: String, accessToken: String) -> String {
return userInfoPrefix + "access_token=" + accessToken + "&openid=" + openID
}
再次执行HTTP GET请求,JSON将返回昵称和个人资料照片链接!
加:此处的详细指南:http :
//www.kekearif.com/how-to-implement-ios-wechat-
login/
首先,我没有任何使用SAML(版本2)的经验。 我被要求研究如何使现有站点(具有带有用户名和密码页面的正常登录页面)为SAML的SSO做好准备。我们可以使用一些工具来执行此操作。因此,我认为实现SSO部分并不困难。 但是,我不清楚如何管理授权。系统(网站)正在使用授权权限来确定用户是否能够访问某些部分,如果他能够访问,则确定他拥有的正确类型(查看,创建或编辑)。这些权限由系统本身的管理员分配给每个
我的问题是:为了实现授权,是否有一种简单的方法来更改Olingo JPA处理器以在默认情况下连接表和过滤实体?这将需要我能够传入帐户过滤,也限制所有的结果。 我也尝试过这里描述的预处理和后处理。但是,过滤需要在查询中进行,而不是在返回结果之后,因为JPA查询将返回太多的结果,并且转换数千个对象的时间长且成本高。 到目前为止,我已经实现了一个CustomoDataJPaprocessor。但是,现在
我想写一个应用程序,允许与数据交互的两种RESTful形式;常规REST CRUDendpoint和Web-UI。 过去,我在JS中实现了UI的大部分功能,这将调用常规的RESTendpoint。这很好,但对于这个应用程序,我想使用Qute来执行生成页面内容的大部分基本功能。但是,为了正确地管理endpoint并确保正确的RBAC控制,我需要通过cookie而不是普通的头来访问JWT。这似乎是可能
我的auth服务器执行以下操作- > 让用户通过第三方oauth提供商登录,比如谷歌,或者让用户使用用户名和密码在我们的服务器上创建他的帐户,并生成令牌。 因此,当用户使用外部oauth(如google)登录时,我只需存储令牌,并将相同的(google)令牌传递给我的UI应用程序,以访问资源api服务器。我有一个验证令牌和允许api访问的身份验证过滤器。 null
1. 进入客服端微信对接页面 2. 选择微信平台授权对接 3. 使用公众平台绑定的管理员个人微信号扫描二维码进行授权 4.授权完成后,返回到微信对接页面,勾选接待组 5.接待组勾选完成后,15分钟左右生效
我有一个移动(本机)和Web应用程序(SPA),它与后端微服务(在核心2.0中开发)对话,以进行身份验证/授权和其他与域相关的功能,该功能已使用Opendi的配置。这两个应用程序都获得了访问令牌。我遇到的问题是,所有微服务都应该接受无记名访问令牌和登录用户的身份验证/授权(中央身份验证服务),在身份验证微服务中生成的访问令牌(开放身份验证2.*)。那么,我在微服务中缺少哪些更改,其中REST AP