api可以通过openid来认证

lingbing
guange 9 years ago
parent 15e074417c
commit 1cb63055cb

@ -29,16 +29,22 @@ module Mobile
end end
def authenticate! def authenticate!
raise('Unauthorized. Invalid or expired token.') unless current_user raise('Unauthorized. 用户认证失败.') unless current_user
end end
def current_user def current_user
openid = params[:openid]
if openid
uw = UserWechat.find_by_openid(params[:openid])
return uw.user if uw
end
token = ApiKey.where(access_token: params[:token]).first token = ApiKey.where(access_token: params[:token]).first
if token && !token.expired? if token && !token.expired?
@current_user = User.find(token.user_id) return User.find(token.user_id)
else
nil
end end
nil
end end
end end

@ -12,7 +12,9 @@ module Mobile
requires :openid, type: String requires :openid, type: String
end end
post do post do
user = UserWechat.find_by_openid(params[:openid]).user authenticate!
user = current_user
shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Project'").map(&:shield_id) shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Project'").map(&:shield_id)
shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Course'").map(&:shield_id) shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Course'").map(&:shield_id)

@ -97,7 +97,6 @@ module Mobile
desc "加入课程" desc "加入课程"
params do params do
requires :token, type: String
requires :course_password, type: String requires :course_password, type: String
end end
post ":id" do post ":id" do

@ -5,11 +5,11 @@ default: &default
# Or if using public account, only need above two line # Or if using public account, only need above two line
# guange test # guange test
appid: "wxf694495398c7d470" #appid: "wxf694495398c7d470"
secret: "743e038392f1d89540e95f8f7645849a" #secret: "743e038392f1d89540e95f8f7645849a"
#appid: "wx8e1ab05163a28e37" appid: "wx8e1ab05163a28e37"
#secret: "beb4d3bc4b32b3557811680835357841" secret: "beb4d3bc4b32b3557811680835357841"
token: "123456" token: "123456"
access_token: "1234567" access_token: "1234567"

Loading…
Cancel
Save