Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
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
ai-tech
dify
Commits
ee11fdd8
Commit
ee11fdd8
authored
Jul 08, 2023
by
crazywoola
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: remove deprecated code
parent
34ce138b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3 additions
and
97 deletions
+3
-97
passport.py
api/controllers/web/passport.py
+1
-1
wraps.py
api/controllers/web/wraps.py
+2
-96
No files found.
api/controllers/web/passport.py
View file @
ee11fdd8
...
...
@@ -2,7 +2,7 @@
import
uuid
from
controllers.web
import
api
from
flask_restful
import
Resource
from
flask
import
current_app
,
request
from
flask
import
request
from
werkzeug.exceptions
import
Unauthorized
,
NotFound
from
models.model
import
Site
,
EndUser
,
App
from
extensions.ext_database
import
db
...
...
api/controllers/web/wraps.py
View file @
ee11fdd8
...
...
@@ -2,12 +2,12 @@
import
uuid
from
functools
import
wraps
from
flask
import
request
,
session
,
current_app
from
flask
import
request
from
flask_restful
import
Resource
from
werkzeug.exceptions
import
NotFound
,
Unauthorized
from
extensions.ext_database
import
db
from
models.model
import
App
,
Site
,
EndUser
from
models.model
import
App
,
EndUser
from
libs.passport
import
PassportService
def
validate_jwt_token
(
view
=
None
):
...
...
@@ -21,100 +21,6 @@ def validate_jwt_token(view=None):
if
view
:
return
decorator
(
view
)
return
decorator
def
validate_token
(
view
=
None
):
def
decorator
(
view
):
@
wraps
(
view
)
def
decorated
(
*
args
,
**
kwargs
):
site
=
validate_and_get_site
()
app_model
=
db
.
session
.
query
(
App
)
.
filter
(
App
.
id
==
site
.
app_id
)
.
first
()
if
not
app_model
:
raise
NotFound
()
if
app_model
.
status
!=
'normal'
:
raise
NotFound
()
if
not
app_model
.
enable_site
:
raise
NotFound
()
end_user
=
create_or_update_end_user_for_session
(
app_model
)
return
view
(
app_model
,
end_user
,
*
args
,
**
kwargs
)
return
decorated
if
view
:
return
decorator
(
view
)
return
decorator
def
validate_and_get_site
():
"""
Validate and get API token.
"""
auth_header
=
request
.
headers
.
get
(
'Authorization'
)
if
auth_header
is
None
:
raise
Unauthorized
(
'Authorization header is missing.'
)
if
' '
not
in
auth_header
:
raise
Unauthorized
(
'Invalid Authorization header format. Expected
\'
Bearer <api-key>
\'
format.'
)
auth_scheme
,
auth_token
=
auth_header
.
split
(
None
,
1
)
auth_scheme
=
auth_scheme
.
lower
()
if
auth_scheme
!=
'bearer'
:
raise
Unauthorized
(
'Invalid Authorization header format. Expected
\'
Bearer <api-key>
\'
format.'
)
site
=
db
.
session
.
query
(
Site
)
.
filter
(
Site
.
code
==
auth_token
,
Site
.
status
==
'normal'
)
.
first
()
if
not
site
:
raise
NotFound
()
return
site
def
create_or_update_end_user_for_session
(
app_model
):
"""
Create or update session terminal based on session ID.
"""
if
'session_id'
not
in
session
:
session
[
'session_id'
]
=
generate_session_id
()
session_id
=
session
.
get
(
'session_id'
)
end_user
=
db
.
session
.
query
(
EndUser
)
\
.
filter
(
EndUser
.
session_id
==
session_id
,
EndUser
.
type
==
'browser'
)
.
first
()
if
end_user
is
None
:
end_user
=
EndUser
(
tenant_id
=
app_model
.
tenant_id
,
app_id
=
app_model
.
id
,
type
=
'browser'
,
is_anonymous
=
True
,
session_id
=
session_id
)
db
.
session
.
add
(
end_user
)
db
.
session
.
commit
()
return
end_user
def
generate_session_id
():
"""
Generate a unique session ID.
"""
while
True
:
session_id
=
str
(
uuid
.
uuid4
())
existing_count
=
db
.
session
.
query
(
EndUser
)
\
.
filter
(
EndUser
.
session_id
==
session_id
)
.
count
()
if
existing_count
==
0
:
return
session_id
def
decode_jwt_token
():
auth_header
=
request
.
headers
.
get
(
'Authorization'
)
...
...
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