Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuywap-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
王水玲
9 years ago
Commit
9c36fd677e57c101cff3c84bb97e6882e9a271b2
1 parent
f0b64e14
登录注册
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
10 deletions
apps/passport/auth.js
apps/passport/controllers/bind.js
apps/passport/controllers/login.js
apps/passport/models/passport-alipay.js
apps/passport/auth.js
View file @
9c36fd6
...
...
@@ -104,5 +104,7 @@ passport.use('qq', new QQStrategy({
passport
.
use
(
'alipay'
,
new
AlipayStrategy
({
partner
:
'2088701661478015'
,
key
:
'kcxawi9bb07mzh0aq2wcirsf9znusobw'
,
callbackURL
:
`
$
{
siteUrl
}
/passport/
login
/
alipay
/
callback
`
}));
return_url
:
`
$
{
siteUrl
}
/passport/
login
/
alipay
/
callback
`
}),
(
profile
,
done
)
=>
{
done
(
null
,
profile
);
});
...
...
apps/passport/controllers/bind.js
View file @
9c36fd6
...
...
@@ -168,7 +168,7 @@ const bind = {
}).
then
(
result
=>
{
let
refer
=
req
.
cookies
.
refer
;
refer
=
refer
?
decodeURI
(
refer
)
:
helpers
.
urlFormat
(
'/bind/success'
);
refer
=
refer
?
decodeURI
(
refer
)
:
helpers
.
urlFormat
(
'/
passport/
bind/success'
);
if
(
result
&&
result
.
code
&&
result
.
code
===
200
&&
result
.
data
.
uid
)
{
AuthHelper
.
syncUserSession
(
result
.
data
.
uid
,
req
,
res
);
result
.
data
.
refer
=
refer
;
...
...
@@ -213,10 +213,14 @@ const bind = {
},
successPage
:
(
req
,
res
)
=>
{
let
refer
=
req
.
cookies
.
refer
;
refer
=
refer
?
decodeURI
(
refer
)
:
helpers
.
urlFormat
(
'/?go=1'
);
res
.
render
(
'bind/success'
,
{
isPassportPage
:
true
,
successTip
:
'恭喜您,第三方账号关联手机号码成功!'
,
goUrl
:
helpers
.
urlFormat
()
,
goUrl
:
refer
,
module
:
'passport'
,
page
:
'bind-success'
,
title
:
'绑定手机号'
...
...
apps/passport/controllers/login.js
View file @
9c36fd6
...
...
@@ -203,7 +203,6 @@ const qq = {
callback
:
(
req
,
res
,
next
)
=>
{
if
(
req
.
session
&&
req
.
session
.
authState
&&
req
.
session
.
authState
===
req
.
query
.
state
)
{
passport
.
authenticate
(
'qq'
,
(
err
,
user
)
=>
{
console
.
log
(
err
,
user
);
if
(
err
)
{
log
.
error
(
`
qq
authenticate
error
:
$
{
JSON
.
stringify
(
err
)}
`
);
return
res
.
redirect
(
loginPage
);
...
...
apps/passport/models/passport-alipay.js
View file @
9c36fd6
...
...
@@ -43,10 +43,13 @@ function paramsToRaw(params) {
function
AlipayStrategy
(
options
,
verify
)
{
if
(
typeof
options
===
'function'
)
{
verify
=
options
;
options
=
{};
}
options
=
options
||
{};
passport
.
Strategy
.
call
(
this
);
this
.
name
=
'alipay'
;
this
.
_verify
=
verify
;
this
.
_options
=
options
;
}
util
.
inherits
(
AlipayStrategy
,
passport
.
Strategy
);
...
...
@@ -60,18 +63,17 @@ AlipayStrategy.prototype.authenticate = function(req, options) {
delete
query
.
sign_type
;
delete
query
.
sign
;
let
signString
=
paramsToRaw
(
query
)
+
options
.
key
;
let
signString
=
paramsToRaw
(
query
)
+
this
.
_
options
.
key
;
if
(
signType
===
'MD5'
&&
sign
!==
md5
(
signString
))
{
this
.
error
(
'alipay callback sign check fail'
);
this
.
fail
(
'alipay callback sign check fail'
);
return
;
}
if
(
req
.
query
.
is_success
===
'T'
)
{
let
user
=
{
userId
:
req
.
query
.
user_id
,
realName
:
req
.
query
.
real
N
ame
,
realName
:
req
.
query
.
real
_n
ame
,
email
:
req
.
query
.
email
};
...
...
@@ -81,17 +83,21 @@ AlipayStrategy.prototype.authenticate = function(req, options) {
this
.
fail
(
req
.
error_code
);
}
}
else
{
let
params
=
_
.
assign
(
defaultOptions
,
options
);
let
params
=
_
.
assign
(
defaultOptions
,
this
.
_options
,
options
);
let
signType
=
params
.
sign_type
;
let
key
=
params
.
key
;
delete
params
.
sign_type
;
delete
params
.
sign
;
let
signString
=
paramsToRaw
(
params
)
+
options
.
key
;
delete
params
.
key
;
let
signString
=
paramsToRaw
(
params
)
+
key
;
if
(
signType
===
'MD5'
)
{
params
.
sign
=
md5
(
signString
);
params
.
sign_type
=
'MD5'
;
}
console
.
log
(
paramsToRaw
(
params
))
this
.
redirect
(
ALIPAY_URL
+
'?'
+
paramsToRaw
(
params
));
}
};
...
...
@@ -99,3 +105,4 @@ AlipayStrategy.prototype.authenticate = function(req, options) {
exports
=
module
.
exports
=
AlipayStrategy
;
exports
.
Strategy
=
AlipayStrategy
;
...
...
Please
register
or
login
to post a comment