Skip to content

Commit f1900ad

Browse files
authored
Merge pull request #19 from andy89923/fix/oauth
Fix: use models in serviceName
2 parents 206d1c1 + 0ca0a1a commit f1900ad

File tree

6 files changed

+17
-16
lines changed

6 files changed

+17
-16
lines changed

internal/context/context.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func Init() {
4444
}
4545

4646
type NFContext interface {
47-
AuthorizationCheck(token, serviceName string) error
47+
AuthorizationCheck(token string, serviceName models.ServiceName) error
4848
}
4949

5050
var _ NFContext = &NSSFContext{}
@@ -136,22 +136,22 @@ func GetSelf() *NSSFContext {
136136
return &nssfContext
137137
}
138138

139-
func (c *NSSFContext) GetTokenCtx(scope string, targetNF models.NfType) (
139+
func (c *NSSFContext) GetTokenCtx(serviceName models.ServiceName, targetNF models.NfType) (
140140
context.Context, *models.ProblemDetails, error,
141141
) {
142142
if !c.OAuth2Required {
143143
return context.TODO(), nil, nil
144144
}
145145
return oauth.GetTokenCtx(models.NfType_NSSF, targetNF,
146-
c.NfId, c.NrfUri, scope)
146+
c.NfId, c.NrfUri, string(serviceName))
147147
}
148148

149-
func (c *NSSFContext) AuthorizationCheck(token, serviceName string) error {
149+
func (c *NSSFContext) AuthorizationCheck(token string, serviceName models.ServiceName) error {
150150
if !c.OAuth2Required {
151151
logger.UtilLog.Debugf("NSSFContext::AuthorizationCheck: OAuth2 not required\n")
152152
return nil
153153
}
154154

155155
logger.UtilLog.Debugf("NSSFContext::AuthorizationCheck: token[%s] serviceName[%s]\n", token, serviceName)
156-
return oauth.VerifyOAuth(token, serviceName, c.NrfCertPem)
156+
return oauth.VerifyOAuth(token, string(serviceName), c.NrfCertPem)
157157
}

internal/sbi/consumer/nf_management.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func SendDeregisterNFInstance() (*models.ProblemDetails, error) {
9393

9494
var err error
9595

96-
ctx, pd, err := nssf_context.GetSelf().GetTokenCtx("nnrf-nfm", models.NfType_NRF)
96+
ctx, pd, err := nssf_context.GetSelf().GetTokenCtx(models.ServiceName_NNRF_NFM, models.NfType_NRF)
9797
if err != nil {
9898
return pd, err
9999
}

internal/sbi/nssaiavailability/routers.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import (
2323
logger_util "github.com/free5gc/util/logger"
2424
)
2525

26-
const serviceName string = string(models.ServiceName_NNSSF_NSSAIAVAILABILITY)
27-
2826
// Route is the information for every URI.
2927
type Route struct {
3028
// Name is the name of this Route.
@@ -50,7 +48,7 @@ func NewRouter() *gin.Engine {
5048
func AddService(engine *gin.Engine) *gin.RouterGroup {
5149
group := engine.Group(factory.NssfNssaiavailResUriPrefix)
5250

53-
routerAuthorizationCheck := util.NewRouterAuthorizationCheck(serviceName)
51+
routerAuthorizationCheck := util.NewRouterAuthorizationCheck(models.ServiceName_NNSSF_NSSAIAVAILABILITY)
5452
group.Use(func(c *gin.Context) {
5553
routerAuthorizationCheck.Check(c, nssf_context.GetSelf())
5654
})

internal/sbi/nsselection/routers.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import (
2323
logger_util "github.com/free5gc/util/logger"
2424
)
2525

26-
const serviceName string = string(models.ServiceName_NNSSF_NSSELECTION)
27-
2826
// Route is the information for every URI.
2927
type Route struct {
3028
// Name is the name of this Route.
@@ -50,7 +48,7 @@ func NewRouter() *gin.Engine {
5048
func AddService(engine *gin.Engine) *gin.RouterGroup {
5149
group := engine.Group(factory.NssfNsselectResUriPrefix)
5250

53-
routerAuthorizationCheck := util.NewRouterAuthorizationCheck(serviceName)
51+
routerAuthorizationCheck := util.NewRouterAuthorizationCheck(models.ServiceName_NNSSF_NSSELECTION)
5452
group.Use(func(c *gin.Context) {
5553
routerAuthorizationCheck.Check(c, nssf_context.GetSelf())
5654
})

internal/util/router_auth_check.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ import (
77

88
nssf_context "github.com/free5gc/nssf/internal/context"
99
"github.com/free5gc/nssf/internal/logger"
10+
"github.com/free5gc/openapi/models"
1011
)
1112

1213
type RouterAuthorizationCheck struct {
13-
serviceName string
14+
serviceName models.ServiceName
1415
}
1516

16-
func NewRouterAuthorizationCheck(serviceName string) *RouterAuthorizationCheck {
17+
func NewRouterAuthorizationCheck(serviceName models.ServiceName) *RouterAuthorizationCheck {
1718
return &RouterAuthorizationCheck{
1819
serviceName: serviceName,
1920
}

internal/util/router_auth_check_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77

88
"github.com/gin-gonic/gin"
99
"github.com/pkg/errors"
10+
11+
"github.com/free5gc/openapi/models"
1012
)
1113

1214
const (
@@ -20,7 +22,7 @@ func newMockNSSFContext() *mockNSSFContext {
2022
return &mockNSSFContext{}
2123
}
2224

23-
func (m *mockNSSFContext) AuthorizationCheck(token string, serviceName string) error {
25+
func (m *mockNSSFContext) AuthorizationCheck(token string, serviceName models.ServiceName) error {
2426
if token == Valid {
2527
return nil
2628
}
@@ -81,7 +83,9 @@ func TestRouterAuthorizationCheck_Check(t *testing.T) {
8183
}
8284
c.Request.Header.Set("Authorization", tt.args.token)
8385

84-
rac := NewRouterAuthorizationCheck("testService")
86+
var testService models.ServiceName = "testService"
87+
88+
rac := NewRouterAuthorizationCheck(testService)
8589
rac.Check(c, newMockNSSFContext())
8690
if w.Code != tt.want.statusCode {
8791
t.Errorf("StatusCode should be %d, but got %d", tt.want.statusCode, w.Code)

0 commit comments

Comments
 (0)