Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
koko
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
koko
Commits
1184db28
Commit
1184db28
authored
May 09, 2019
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 修改service
parent
b9a7b49b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
17 deletions
+11
-17
Gopkg.lock
Gopkg.lock
+3
-2
server.go
pkg/auth/server.go
+2
-10
urls.go
pkg/service/urls.go
+2
-1
users.go
pkg/service/users.go
+4
-4
No files found.
Gopkg.lock
View file @
1184db28
...
@@ -154,7 +154,7 @@
...
@@ -154,7 +154,7 @@
[[projects]]
[[projects]]
branch = "master"
branch = "master"
digest = "1:
d275874accb1537f7bd7ac28985aeb1ddc32b22884e5f57b68c32591437f822b
"
digest = "1:
940277eb8ecf4938e0760fecd917bdc24d45d78c22b32b83267682c3409075d2
"
name = "golang.org/x/crypto"
name = "golang.org/x/crypto"
packages = [
packages = [
"curve25519",
"curve25519",
...
@@ -167,7 +167,7 @@
...
@@ -167,7 +167,7 @@
"ssh/terminal",
"ssh/terminal",
]
]
pruneopts = "UT"
pruneopts = "UT"
revision = "
ef0d1a6f5b87067803518089d4cbc349777a56bd
"
revision = "
a7099eef26a7fdc97f3ac5f5b2b61f9f136dd16f
"
source = "github.com/ibuler/crypto"
source = "github.com/ibuler/crypto"
[[projects]]
[[projects]]
...
@@ -200,6 +200,7 @@
...
@@ -200,6 +200,7 @@
"github.com/kr/pty",
"github.com/kr/pty",
"github.com/leonelquinteros/gotext",
"github.com/leonelquinteros/gotext",
"github.com/olekukonko/tablewriter",
"github.com/olekukonko/tablewriter",
"github.com/pkg/errors",
"github.com/pkg/sftp",
"github.com/pkg/sftp",
"github.com/satori/go.uuid",
"github.com/satori/go.uuid",
"github.com/sirupsen/logrus",
"github.com/sirupsen/logrus",
...
...
pkg/auth/server.go
View file @
1184db28
...
@@ -56,7 +56,7 @@ func CheckMFA(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) ss
...
@@ -56,7 +56,7 @@ func CheckMFA(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) ss
if
err
!=
nil
{
if
err
!=
nil
{
return
ssh
.
AuthFailed
return
ssh
.
AuthFailed
}
}
if
len
(
answers
)
!=
0
{
if
len
(
answers
)
!=
1
{
return
ssh
.
AuthFailed
return
ssh
.
AuthFailed
}
}
mfaCode
:=
answers
[
0
]
mfaCode
:=
answers
[
0
]
...
@@ -77,13 +77,5 @@ func CheckMFA(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) ss
...
@@ -77,13 +77,5 @@ func CheckMFA(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) ss
}
}
func
CheckUserNeedMFA
(
ctx
ssh
.
Context
)
(
methods
[]
string
)
{
func
CheckUserNeedMFA
(
ctx
ssh
.
Context
)
(
methods
[]
string
)
{
username
:=
ctx
.
User
()
return
[]
string
{
"keyboard-interactive"
}
user
,
err
:=
service
.
GetUserByUsername
(
username
)
if
err
!=
nil
{
return
}
if
user
.
OTPLevel
>
0
{
return
[]
string
{
"keyboard-interactive"
}
}
return
}
}
pkg/service/urls.go
View file @
1184db28
...
@@ -3,7 +3,8 @@ package service
...
@@ -3,7 +3,8 @@ package service
const
(
const
(
UserAuthURL
=
"/api/users/v1/auth/"
// post 验证用户登陆
UserAuthURL
=
"/api/users/v1/auth/"
// post 验证用户登陆
UserProfileURL
=
"/api/users/v1/profile/"
// 获取当前用户的基本信息
UserProfileURL
=
"/api/users/v1/profile/"
// 获取当前用户的基本信息
UserUserURL
=
"/api/users/v1/users/%s/"
// 获取用户信息
UserListUrl
=
"/api/users/v1/users/"
// 用户列表地址
UserDetailURL
=
"/api/users/v1/users/%s/"
// 获取用户信息
UserAuthOTPURL
=
"/api/users/v1/otp/auth/"
// 验证OTP
UserAuthOTPURL
=
"/api/users/v1/otp/auth/"
// 验证OTP
SystemUserAssetAuthURL
=
"/api/assets/v1/system-user/%s/asset/%s/auth-info/"
// 该系统用户对某资产的授权
SystemUserAssetAuthURL
=
"/api/assets/v1/system-user/%s/asset/%s/auth-info/"
// 该系统用户对某资产的授权
...
...
pkg/service/users.go
View file @
1184db28
...
@@ -31,7 +31,7 @@ func Authenticate(username, password, publicKey, remoteAddr, loginType string) (
...
@@ -31,7 +31,7 @@ func Authenticate(username, password, publicKey, remoteAddr, loginType string) (
}
}
func
GetUserProfile
(
userId
string
)
(
user
*
model
.
User
)
{
func
GetUserProfile
(
userId
string
)
(
user
*
model
.
User
)
{
Url
:=
fmt
.
Sprintf
(
User
User
URL
,
userId
)
Url
:=
fmt
.
Sprintf
(
User
Detail
URL
,
userId
)
err
:=
authClient
.
Get
(
Url
,
user
)
err
:=
authClient
.
Get
(
Url
,
user
)
if
err
!=
nil
{
if
err
!=
nil
{
logger
.
Error
(
err
)
logger
.
Error
(
err
)
...
@@ -41,13 +41,13 @@ func GetUserProfile(userId string) (user *model.User) {
...
@@ -41,13 +41,13 @@ func GetUserProfile(userId string) (user *model.User) {
func
GetProfile
()
(
user
*
model
.
User
,
err
error
)
{
func
GetProfile
()
(
user
*
model
.
User
,
err
error
)
{
err
=
authClient
.
Get
(
UserProfileURL
,
&
user
)
err
=
authClient
.
Get
(
UserProfileURL
,
&
user
)
return
return
user
,
err
}
}
func
GetUserByUsername
(
username
string
)
(
user
*
model
.
User
,
err
error
)
{
func
GetUserByUsername
(
username
string
)
(
user
*
model
.
User
,
err
error
)
{
var
users
[]
*
model
.
User
var
users
[]
*
model
.
User
payload
:=
map
[
string
]
string
{
"username"
:
username
}
payload
:=
map
[
string
]
string
{
"username"
:
username
}
err
=
authClient
.
Get
(
User
UserURL
,
&
users
,
payload
)
err
=
authClient
.
Get
(
User
ListUrl
,
&
users
,
payload
)
if
err
!=
nil
{
if
err
!=
nil
{
return
return
}
}
...
@@ -64,7 +64,7 @@ func CheckUserOTP(seed, code string) (resp *AuthResp, err error) {
...
@@ -64,7 +64,7 @@ func CheckUserOTP(seed, code string) (resp *AuthResp, err error) {
"seed"
:
seed
,
"seed"
:
seed
,
"otp_code"
:
code
,
"otp_code"
:
code
,
}
}
err
=
client
.
Post
(
UserAuthOTPURL
,
data
,
resp
)
err
=
client
.
Post
(
UserAuthOTPURL
,
data
,
&
resp
)
if
err
!=
nil
{
if
err
!=
nil
{
return
return
}
}
...
...
Write
Preview
Markdown
is supported
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