14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/wechat/controller_api.rb', line 14
def wechat_oauth2(scope = 'snsapi_base', page_url = nil, &block)
appid = self.class.corpid || self.class.appid
page_url ||= if self.class.trusted_domain_fullname
"#{self.class.trusted_domain_fullname}#{request.original_fullpath}"
else
request.original_url
end
redirect_uri = CGI.escape(page_url)
oauth2_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{appid}&redirect_uri=#{redirect_uri}&response_type=code&scope=#{scope}&state=#{wechat.jsapi_ticket.oauth2_state}#wechat_redirect"
return oauth2_url unless block_given?
if self.class.corpid
wechat_corp_oauth2(oauth2_url, &block)
else
wechat_public_oauth2(oauth2_url, &block)
end
end
|