关于我们

饿了么开放平台如何获取用户身份

发布时间:2025-05-27

 

个人零费用代理店+,日收入3000+,可兼职做

为了改善商家体验,不需要每次进入应用都重新授权,建议ISV在授权完成之后,调用eleme.user.getUser接口获取userId(openId),维护openId与token的映射关系,每次进入页面获取用户身份,如果授权过则无需重新授权。另外饿了么开放平台会在消息推送中带上userId(openId)字段。

如何获取用户身份

获取identity(换取用户身份的凭证)

通过identity换取openid

使用条件

必须在商户版客户端中打开

必须是平台应用jssdk

如何获取identity

通过构造授权url获取identity

修改获取token的授权url的scope,将all改为identity即可.如果不知道如何构建获取token的授权url,请查看授权说明
进入页面之后,会自动授权同时跳转到redirect_uri
地址demo如下:

[redirect_uri]?identity=%2BrmW2SRZorzSlT%2Bu7VtVs%2FAGt0ztqMOjdjeZV6cIsgl%2FH4WB5iqfhn6DPEIbi9Of&state=xyz

注:需对identity需要进行decode操作

通过js-sdk获取identity(目前仅支持pc)

注意:仅支持在与appKey对应的redirect_uri同源的地址下发起。
1.引入js-jssdk(需要最新版js-sdk)
2.获取identity

eleme.getCodeForIdentity({ appKey: '', // 必填 isProduction: true //是否正式环境,非必填,默认值为true,正式环境 }).then(identity => { console.log(identity) }).catch(error => { console.log(error) })

通过identity获取openid

目前已在java-sdk中封装了该方法,其余语言sdk正在陆续更新。
使用授权码换取访问令牌,客户端向认证服务器发起访问令牌的请求。
示例及参数说明如下:

HTTP header中需要携带Authorization请求头,Basic值的算法如下(+号表示字符串连接):

base64_encode(key + ":" + secret)

请求示例:

POST /identity HTTP/1.1 Host: open-api-sandbox.shop.ele.me Authorization: Basic OU9LV2JtVXJLcjoyZGRiZTc2NTkzOWZhZjI5ZDEwNTU3MDg3MzVjOGViNw== Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=+rmW2SRZorzSlT+u7VtVs/AGt0ztqMOjdjeZV6cIsgl/H4WB5iqfhn6DPEIbi9Of &redirect_uri=[redirect_uri]&client_id=9OKWbmUrKr

CURL示例如下:

curl -i -XPOST -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic OU9LV2JtVXJLcjoyZGRiZTc2NTkzOWZhZjI5ZDEwNTU3MDg3MzVjOGViNw==" -d "grant_type=authorization_code&code=+rmW2SRZorzSlT+u7VtVs/AGt0ztqMOjdjeZV6cIsgl/H4WB5iqfhn6DPEIbi9Of&redirect_uri=[redirect_uri]&client_id=9OKWbmUrKr" https://open-api-sandbox.shop.ele.me/identity

参数说明:

参数名参数类型参数含义是否必选参数值

grant_typeString授权模式必选授权码模式固定为"authorization_code"

codeString表示上一步获得的授权码(identity)必选示例值:+rmW2SRZorzSlT+u7VtVs/AGt0ztqMOjdjeZV6cIsgl/H4WB5iqfhn6DPEIbi9Of

redirect_uriString授权回调的重定向URI必选必须与A步骤中的该参数值保持一致

client_idString应用的key,创建应用时获得必选示例值:hvBW15GiSi

/template/Home/AllNew/PC/Static