Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
TarsWeb
Commits
c7b8ce2c
Unverified
Commit
c7b8ce2c
authored
5 years ago
by
ruanshudong
Committed by
GitHub
5 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #39 from ruanshudong/master
support domain
parents
5e43804d
149d4dd3
master
ETZhangSX-patch-1
czzou_dev
dependabot/npm_and_yarn/client/axios-0.21.1
dependabot/npm_and_yarn/client/elliptic-6.5.3
dependabot/npm_and_yarn/client/ini-1.3.7
dependabot/npm_and_yarn/client/lodash-4.17.21
feature/gateway
feature/services
k8s
kiven_dev
release/2.4
release/3.0
ruanshudong_dev
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.1
1.3.0
1.2.0
1.1.1
v3.0.11
v3.0.10
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.4.27
v2.4.26
v2.4.25
v2.4.24
v2.4.23
v2.4.22
v2.4.21
v2.4.20
v2.4.19
v2.4.18
v2.4.17
v2.4.16
v2.4.15
v2.4.14
v2.4.13
v2.4.12
v2.4.11
v2.4.10
v2.4.9
v2.4.8
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.1.0
v2.0.0
No related merge requests found
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
app.js
+24
-4
app.js
app/controller/auth/AuthController.js
+1
-0
app/controller/auth/AuthController.js
app/service/auth/AuthService.js
+1
-0
app/service/auth/AuthService.js
config/loginConf.js
+11
-2
config/loginConf.js
demo/app.js
+17
-3
demo/app.js
demo/config/loginConf.js
+5
-4
demo/config/loginConf.js
with
59 additions
and
13 deletions
+59
-13
app.js
+
24
-
4
View file @
c7b8ce2c
...
...
@@ -68,10 +68,31 @@ preMidware.forEach((midware) => {
let
loginConf
=
require
(
'
./config/loginConf.js
'
);
loginConf
.
ignore
=
loginConf
.
ignore
.
concat
([
'
/static
'
,
'
/tarsnode.tar.gz
'
,
'
/favicon.ico
'
,
'
/pages/server/api/get_locale
'
]);
//web和demo的cookie写在同一个域名下
if
(
process
.
env
.
COOKIE_DOMAIN
)
{
loginConf
.
cookieDomain
=
process
.
env
.
COOKIE_DOMAIN
}
if
(
process
.
env
.
USER_CENTER_HOST
)
{
//存在外部host, 使用外部host代替
loginConf
.
userCenterUrl
=
process
.
env
.
USER_CENTER_HOST
;
}
loginConf
.
loginUrl
=
loginConf
.
baseLoginUrl
.
replace
(
"
http://localhost:3001
"
,
loginConf
.
userCenterUrl
);
logger
.
info
(
'
loginUrl:
'
,
loginConf
.
loginUrl
,
'
userCenterUrl:
'
,
loginConf
.
userCenterUrl
,
'
cookieDomain
'
,
loginConf
.
cookieDomain
);
app
.
use
(
async
(
ctx
,
next
)
=>
{
let
host
=
ctx
.
host
.
split
(
'
:
'
)[
0
];
loginConf
.
loginUrl
=
loginConf
.
loginUrl
.
replace
(
"
localhost
"
,
host
);
loginConf
.
userCenterUrl
=
loginConf
.
userCenterUrl
.
replace
(
"
localhost
"
,
host
);
if
(
!
process
.
env
.
USER_CENTER_HOST
)
{
//直接用当前host代替, 端口还是保留
let
userCenterIp
=
ctx
.
host
.
split
(
'
:
'
)[
0
];
loginConf
.
userCenterUrl
=
loginConf
.
baseUserCenterUrl
.
replace
(
"
localhost
"
,
userCenterIp
);
loginConf
.
loginUrl
=
loginConf
.
baseLoginUrl
.
replace
(
"
localhost
"
,
userCenterIp
);
}
await
next
();
});
...
...
@@ -79,7 +100,6 @@ app.use(async (ctx, next) => {
app
.
use
(
loginMidware
(
loginConf
));
// 是否启动 DCache
let
dcacheConf
=
require
(
'
./config/dcacheConf.js
'
);
if
(
dcacheConf
.
enableDcache
)
{
app
.
use
(
async
(
ctx
,
next
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
app/controller/auth/AuthController.js
+
1
-
0
View file @
c7b8ce2c
...
...
@@ -33,6 +33,7 @@ AuthController.isEnableAuth = async (ctx) => {
};
AuthController
.
userCenter
=
async
(
ctx
)
=>
{
logger
.
info
(
'
redirect:
'
,
loginConf
.
userCenterUrl
);
await
ctx
.
redirect
(
loginConf
.
userCenterUrl
);
}
...
...
This diff is collapsed.
Click to expand it.
app/service/auth/AuthService.js
+
1
-
0
View file @
c7b8ce2c
...
...
@@ -79,6 +79,7 @@ AuthService.checkHasAuth = async (application, serverName, role, uid) => {
};
AuthService
.
httpCallCheckAuth
=
async
(
flag
,
roles
,
uid
)
=>
{
var
rst
=
await
util
.
jsonRequest
.
get
(
getAuthUrl
,
{
flag
:
flag
,
role
:
roles
,
...
...
This diff is collapsed.
Click to expand it.
config/loginConf.js
+
11
-
2
View file @
c7b8ce2c
...
...
@@ -14,6 +14,7 @@
* specific language governing permissions and limitations under the License.
*/
let
request
=
require
(
'
request-promise-any
'
);
const
logger
=
require
(
'
../app/logger
'
);
/**
* 登录配置
...
...
@@ -22,9 +23,11 @@ module.exports = {
enableLogin
:
true
,
//是否启用登录验证
defaultLoginUid
:
'
admin
'
,
//若不启用登录验证,默认用户为admin
redirectUrlParamName
:
'
redirect_url
'
,
//跳转到登录url的时带的原url参数名,如:***/login?service=***,默认是service
loginUrl
:
'
http://localhost:3001/login.html
'
,
//登录跳转url(代码中要替换localhost)
baseUserCenterUrl
:
'
http://localhost:3001
'
,
//登录跳转url(代码中要替换localhost)
baseLoginUrl
:
'
http://localhost:3001/login.html
'
,
//登录跳转url(userCenterUrl + loginUrl)
userCenterUrl
:
''
,
//登录跳转url(代码中要替换baseUserCenterUrl:localhost)
loginUrl
:
''
,
//登录跳转url(baseLoginUrl:localhost)
logoutUrl
:
''
,
userCenterUrl
:
'
http://localhost:3001/
'
,
//登录跳转url(代码中要替换localhost)
logoutredirectUrlParamName
:
'
url
'
,
ticketCookieName
:
'
ticket
'
,
//cookie中保存ticket信息的cookie名
uidCookieName
:
'
uid
'
,
//cookie中保存用户信息的cookie名
...
...
@@ -54,6 +57,8 @@ async function getUidByTicket(ctx, ticket){
return
new
Promise
((
resolve
,
reject
)
=>
{
try
{
request
.
get
(
'
http://localhost:3001/api/getUidByTicket?ticket=
'
+
ticket
).
then
(
uidInfo
=>
{
logger
.
info
(
ctx
.
url
,
'
getUidByTicket
'
,
ticket
,
uidInfo
);
uidInfo
=
JSON
.
parse
(
uidInfo
);
resolve
(
uidInfo
.
data
.
uid
);
}).
catch
(
err
=>
{
...
...
@@ -74,7 +79,11 @@ async function validate(ctx, uid, ticket){
return
new
Promise
((
resolve
,
reject
)
=>
{
try
{
request
.
get
(
'
http://localhost:3001/api/getUidByTicket?ticket=
'
+
ticket
).
then
(
uidInfo
=>
{
logger
.
info
(
ctx
.
url
,
'
validate
'
,
ticket
,
uidInfo
);
uidInfo
=
JSON
.
parse
(
uidInfo
);
resolve
(
uidInfo
.
data
.
uid
===
uid
);
}).
catch
(
err
=>
{
reject
(
err
);
...
...
This diff is collapsed.
Click to expand it.
demo/app.js
+
17
-
3
View file @
c7b8ce2c
...
...
@@ -17,6 +17,7 @@ const helmet = require("koa-helmet");
const
loginMidware
=
require
(
'
yami-sso-client
'
).
koa
;
const
AuthService
=
require
(
'
./app/service/auth/AuthService
'
);
// const authMidware = require('./app/midware/authMidware');
const
logger
=
require
(
'
./app/logger
'
);
const
upload
=
multer
({
dest
:
'
./uploads/
'
});
...
...
@@ -50,20 +51,33 @@ preMidware.forEach((midware)=>{
let
loginConf
=
require
(
'
./config/loginConf.js
'
);
loginConf
.
ignore
=
loginConf
.
ignore
.
concat
([
'
/static
'
,
'
/adminPass.html
'
,
'
/api/adminModifyPass
'
,
'
/login.html
'
,
'
/register.html
'
,
'
/favicon.ico
'
,
'
/api/get_locale
'
,
'
/api/login
'
]);
//写入cookie的domain, 方便和web, cookie互通
if
(
process
.
env
.
COOKIE_DOMAIN
)
{
loginConf
.
cookieDomain
=
process
.
env
.
COOKIE_DOMAIN
;
}
app
.
use
(
async
(
ctx
,
next
)
=>
{
loginConf
.
loginUrl
=
loginConf
.
loginUrl
.
replace
(
"
localhost
"
,
ctx
.
host
.
split
(
'
:
'
)[
0
]);
// console.log(ctx);
//优先环境变量的host
let
userCenterHost
=
process
.
env
.
USER_CENTER_HOST
||
ctx
.
host
;
loginConf
.
loginUrl
=
loginConf
.
baseLoginUrl
.
replace
(
"
${user-center-host}
"
,
userCenterHost
);
logger
.
info
(
'
userCenterHost:
'
,
userCenterHost
,
'
host:
'
,
ctx
.
host
,
'
loginUrl:
'
,
loginConf
.
loginUrl
);
var
myurl
=
url
.
parse
(
ctx
.
url
);
if
(
await
AuthService
.
isInit
())
{
if
((
myurl
.
pathname
.
lastIndexOf
(
'
.html
'
)
!=
-
1
||
myurl
.
pathname
==
'
/
'
)
&&
myurl
.
pathname
!=
'
/adminPass.html
'
)
{
ctx
.
redirect
(
'
/adminPass.html?redirect_url=
'
+
encodeURIComponent
(
ctx
.
url
));
ctx
.
redirect
(
userCenterHost
+
'
/adminPass.html?redirect_url=
'
+
encodeURIComponent
(
ctx
.
url
));
return
;
}
}
else
if
(
myurl
.
pathname
==
'
/adminPass.html
'
)
{
ctx
.
redirect
(
'
/
'
);
ctx
.
redirect
(
userCenterHost
);
return
;
}
...
...
This diff is collapsed.
Click to expand it.
demo/config/loginConf.js
+
5
-
4
View file @
c7b8ce2c
...
...
@@ -6,10 +6,11 @@ const AuthDao = require('../app/dao/AuthDao');
* 登录配置
*/
module
.
exports
=
{
enableLogin
:
true
,
//是否启用登录验证
defaultLoginUid
:
'
admin
'
,
//若不启用登录验证,默认用户为admin
loginUrl
:
'
http://localhost:3001/login.html
'
,
//登录跳转url
redirectUrlParamName
:
'
url
'
,
//跳转到登录url的时带的原url参数名,如:***/login?service=***,默认是service
enableLogin
:
true
,
//是否启用登录验证
defaultLoginUid
:
'
admin
'
,
//若不启用登录验证,默认用户为admin
baseLoginUrl
:
'
${user-center-host}/login.html
'
,
//登录跳转url(替换user-center-host, 得到实际的loginUrl)
loginUrl
:
''
,
//登录跳转url, 根据当前请求的host替换成具体的url
redirectUrlParamName
:
'
url
'
,
//跳转到登录url的时带的原url参数名,如:***/login?service=***,默认是service
logoutUrl
:
''
,
logoutredirectUrlParamName
:
'
url
'
,
ticketCookieName
:
'
ticket
'
,
//cookie中保存ticket信息的cookie名
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help