43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/omniauth/strategies/wechat.rb', line 43
def raw_info
@uid ||= access_token['openid']
return @raw_info if defined?(@raw_info)
access_token.options[:mode] = :query
case access_token['scope']
when 'snsapi_login', 'snsapi_userinfo'
response = access_token.get('/sns/userinfo', params: { openid: @uid }, parse: :text)
@raw_info = JSON.parse(response.body.gsub(/[\u0000-\u001f]+/, ''))
else
@raw_info = { 'openid' => @uid }
@raw_info.merge!('unionid' => access_token['unionid']) if access_token['unionid']
@raw_info
end
@raw_info.merge! 'app_id' => client.id
end
|