本公開一般涉及通信網(wǎng)絡(luò),并且更特定地涉及在這樣的網(wǎng)絡(luò)中對應(yīng)用編程接口的訪問。
背景技術(shù):
1、下一代(5g)核心網(wǎng)(cn)使用基于服務(wù)的架構(gòu),該架構(gòu)利用cn網(wǎng)絡(luò)功能(nf)之間基于服務(wù)的交互。在這方面,nf使其它已授權(quán)nf能夠經(jīng)由服務(wù)應(yīng)用編程接口(api)訪問該nf提供的服務(wù)。這個服務(wù)api由此作為通信網(wǎng)絡(luò)的組件(例如,nf)例如通過從底層機制中抽象出服務(wù)來開放其服務(wù)所經(jīng)由的接口。當(dāng)向更高層實體開放服務(wù)api以供調(diào)用時,該服務(wù)api被稱為北向api。
2、在例如針對不同的服務(wù)存在多個api的情況下,所謂的公共api框架(capif)包含適用于多個api中的任何api的公共方面。capif避免不同api之間的重復(fù)和不一致。
3、然而,當(dāng)api的一些資源受保護時,在例如經(jīng)由capif調(diào)用api期間存在挑戰(zhàn)。例如,api的一些對象或組件(諸如用戶的位置)可能被保護以防止未授權(quán)訪問,例如,以便保護用戶的隱私。在這些和其它情況下,僅當(dāng)資源的所有者同意時才可允許訪問api的受保護資源。資源所有者同意作為資源訪問的先決條件使api調(diào)用變得復(fù)雜,使得以從信令和處理的角度來看有效率的方式調(diào)用api以訪問受保護資源具有挑戰(zhàn)性。
技術(shù)實現(xiàn)思路
1、本文中的一些實施例利用訪問令牌來指明資源所有者是否同意通信設(shè)備訪問應(yīng)用編程接口(api)的受保護資源,例如,加之該訪問令牌還指明通信設(shè)備是否被授權(quán)訪問該api。在這種情況下,通信設(shè)備可連同其訪問api的請求一起提供訪問令牌。本文中的其它實施例將用戶同意參數(shù)的檢索結(jié)合到api調(diào)用過程中。無論哪種方式,如果訪問令牌或用戶同意參數(shù)指明資源所有者尚未同意通信設(shè)備訪問受保護資源,則可以有效地避免或中止用于授權(quán)通信設(shè)備訪問api的步驟。通過以這種方式利用訪問令牌或用戶同意參數(shù),則本文中的一些實施例提供了以從信令和處理的角度來看有效率的方式調(diào)用api來訪問受保護資源的方式。
2、更特定地說,本文中的實施例包括由通信設(shè)備執(zhí)行的方法,該通信設(shè)備被配置為調(diào)用應(yīng)用編程接口api以訪問服務(wù)。該方法包括從通信設(shè)備向被配置為開放api的api開放設(shè)備傳送調(diào)用api的請求。該方法還包括從通信設(shè)備向api開放設(shè)備傳送訪問令牌,訪問令牌指明資源所有者是否同意通信設(shè)備訪問api的受保護資源。
3、在一些實施例中,在請求中包含訪問令牌。
4、在一些實施例中,傳送請求和訪問令牌包括向api開放設(shè)備傳送包含請求和訪問令牌二者的消息。
5、在一些實施例中,傳送訪問令牌包括在向api開放設(shè)備傳送請求之前或與之同時向api開放設(shè)備傳送訪問令牌。
6、在一些實施例中,訪問令牌包括同意信息,同意信息宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源。在這些實施例中的一個或多個實施例中,同意信息是宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源的聲明。
7、在一些實施例中,訪問令牌是oauth?2.0訪問令牌。
8、在一些實施例中,api是北向api。
9、在一些實施例中,通信設(shè)備是用戶設(shè)備。
10、在一些實施例中,資源所有者是通信設(shè)備的用戶。
11、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
12、在一些實施例中,訪問令牌還宣稱通信設(shè)備被授權(quán)訪問api。
13、在一些實施例中,該方法進一步包括執(zhí)行上文描述的步驟。
14、本文中的其它實施例包括由通信設(shè)備執(zhí)行的方法,該通信設(shè)備被配置為調(diào)用應(yīng)用編程接口api以訪問服務(wù)。該方法包括從通信設(shè)備向公共api核心設(shè)備傳送對訪問令牌的請求。該方法還包括響應(yīng)于該請求,接收訪問令牌,訪問令牌指明資源所有者是否同意通信設(shè)備訪問api的受保護資源。
15、在一些實施例中,訪問令牌包括同意信息,同意信息宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源。在這些實施例中的一個或多個實施例中,同意信息是宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源的聲明。
16、在一些實施例中,訪問令牌是oauth?2.0訪問令牌。
17、在一些實施例中,api是北向api。
18、在一些實施例中,通信設(shè)備是用戶設(shè)備。
19、在一些實施例中,資源所有者是通信設(shè)備的用戶。
20、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
21、在一些實施例中,訪問令牌還宣稱通信設(shè)備被授權(quán)訪問api。
22、在一些實施例中,該方法進一步包括:在傳送對訪問令牌的請求之前,向公共api核心設(shè)備傳送授權(quán)請求。該方法進一步包括:在傳送對訪問令牌的請求之前,響應(yīng)于授權(quán)請求,接收授權(quán)碼,授權(quán)碼是表示資源所有者的授權(quán)的憑證。在一些實施例中,對訪問令牌的請求包含授權(quán)碼。
23、在一些實施例中,公共api核心設(shè)備實現(xiàn)capif核心功能。
24、在一些實施例中,該方法進一步包括執(zhí)行上文描述的步驟。
25、本文中的其它實施例包括由應(yīng)用編程接口api開放設(shè)備執(zhí)行的方法,api開放設(shè)備被配置為向通信設(shè)備開放api。該方法包括從通信設(shè)備接收調(diào)用api的請求。該方法還包括從通信設(shè)備接收訪問令牌,訪問令牌指明資源所有者是否同意通信設(shè)備訪問api的受保護資源。
26、在一些實施例中,在請求中包含訪問令牌。
27、在一些實施例中,接收請求和訪問令牌包括從通信設(shè)備接收包含請求和訪問令牌二者的消息。
28、在一些實施例中,接收訪問令牌包括在接收請求之前或與之同時接收訪問令牌。
29、在一些實施例中,訪問令牌包括同意信息,同意信息宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源。在這些實施例中的一個或多個實施例中,同意信息是宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源的聲明。
30、在一些實施例中,訪問令牌是oauth?2.0訪問令牌。
31、在一些實施例中,api是北向api。
32、在一些實施例中,通信設(shè)備是用戶設(shè)備。
33、在一些實施例中,資源所有者是通信設(shè)備的用戶。
34、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
35、在一些實施例中,訪問令牌還宣稱通信設(shè)備被授權(quán)訪問api。
36、在一些實施例中,訪問令牌包含一個或多個聲明,包含宣稱資源所有者同意通信設(shè)備訪問api的受保護資源的聲明。該方法進一步包括對照訪問令牌中的一個或多個聲明來驗證請求。該方法進一步包括取決于所述驗證而允許或拒絕該請求。
37、在一些實施例中,該方法進一步包括:從公共api核心設(shè)備接收信令,該信令指明資源所有者已經(jīng)撤銷對通信設(shè)備訪問api的受保護資源的同意。
38、本文中的其它實施例包括由公共應(yīng)用編程接口api核心設(shè)備執(zhí)行的方法。該方法包括從通信設(shè)備接收對訪問令牌的請求。該方法還包括:響應(yīng)于該請求,傳送指明資源所有者是否同意通信設(shè)備訪問api的受保護資源的訪問令牌。
39、在一些實施例中,訪問令牌包括同意信息,同意信息宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源。在這些實施例中的一個或多個實施例中,同意信息是宣稱資源所有者同意或不同意通信設(shè)備訪問api的受保護資源的聲明。
40、在一些實施例中,訪問令牌是oauth?2.0訪問令牌。
41、在一些實施例中,api是北向api。
42、在一些實施例中,通信設(shè)備是用戶設(shè)備。
43、在一些實施例中,資源所有者是通信設(shè)備的用戶。
44、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
45、在一些實施例中,訪問令牌還宣稱通信設(shè)備被授權(quán)訪問api。
46、在一些實施例中,該方法進一步包括:在接收對訪問令牌的請求之前,從通信設(shè)備接收授權(quán)請求。該方法進一步包括:在接收對訪問令牌的請求之前,響應(yīng)于授權(quán)請求,向通信設(shè)備傳送授權(quán)碼。在一些實施例中,對訪問令牌的請求包含授權(quán)碼。在一些實施例中,授權(quán)碼是表示資源所有者的授權(quán)的憑證。在這些實施例中的一個或多個實施例中,該方法進一步包括:響應(yīng)于接收到授權(quán)請求,從統(tǒng)一數(shù)據(jù)管理udm設(shè)備中檢索用戶同意參數(shù)。在一些實施例中,用戶同意參數(shù)指明資源所有者是否已經(jīng)準(zhǔn)予對通信設(shè)備訪問api的受保護資源的同意。該方法進一步包括:基于用戶同意參數(shù),生成授權(quán)碼。
47、在一些實施例中,該方法進一步包括:響應(yīng)于接收到對訪問令牌的請求,從統(tǒng)一數(shù)據(jù)管理udm設(shè)備中檢索用戶同意參數(shù)。在一些實施例中,用戶同意參數(shù)指明資源所有者是否已經(jīng)準(zhǔn)予對通信設(shè)備訪問api的受保護資源的同意。該方法進一步包括:基于用戶同意參數(shù),生成訪問令牌。
48、在一些實施例中,該方法進一步包括:從統(tǒng)一數(shù)據(jù)管理udm設(shè)備訂閱對用戶同意參數(shù)的更新。
49、在一些實施例中,該方法進一步包括:從統(tǒng)一數(shù)據(jù)管理udm設(shè)備接收資源所有者已經(jīng)撤銷對通信設(shè)備訪問api的受保護資源的同意的通知。該方法進一步包括:基于該通知,向被配置為開放api的api開放設(shè)備傳送信令,該信令指明資源所有者已經(jīng)撤銷對通信設(shè)備訪問api的受保護資源的同意。
50、本文中的其它實施例包括由應(yīng)用編程接口api開放設(shè)備執(zhí)行的方法,該api開放設(shè)備被配置為向通信設(shè)備開放api。該方法包括從通信設(shè)備接收調(diào)用api的請求。該方法還包括從公共api核心設(shè)備中檢索一個或多個用戶同意參數(shù),用戶同意參數(shù)指明資源所有者是否同意通信設(shè)備訪問api的受保護資源。
51、在一些實施例中,響應(yīng)于向公共api核心設(shè)備傳送對一個或多個用戶同意參數(shù)的請求,從公共api核心設(shè)備中檢索一個或多個用戶同意參數(shù)。
52、在一些實施例中,從公共api核心設(shè)備中檢索一個或多個用戶同意參數(shù)連同指明通信設(shè)備是否被授權(quán)訪問api的授權(quán)信息。
53、在一些實施例中,在接收到請求之后和/或響應(yīng)于接收到請求,檢索一個或多個用戶同意參數(shù)。
54、在一些實施例中,api是北向api。
55、在一些實施例中,通信設(shè)備是用戶設(shè)備。
56、在一些實施例中,資源所有者是通信設(shè)備的用戶。
57、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
58、在一些實施例中,該方法進一步包括:取決于資源所有者是否同意通信設(shè)備訪問api的受保護資源,允許或拒絕該請求。
59、本文中的其它實施例包括由公共應(yīng)用編程接口api核心設(shè)備執(zhí)行的方法。該方法包括:從api開放設(shè)備接收對一個或多個用戶同意參數(shù)的請求,用戶同意參數(shù)指明資源所有者是否同意通信設(shè)備訪問api的受保護資源。該方法進一步包括:響應(yīng)于該請求,將一個或多個用戶同意參數(shù)傳送給api開放設(shè)備。
60、在一些實施例中,該方法進一步包括:響應(yīng)于接收到請求,從用戶數(shù)據(jù)管理udm設(shè)備中檢索一個或多個用戶同意參數(shù)。
61、在一些實施例中,api是北向api。
62、在一些實施例中,通信設(shè)備是用戶設(shè)備。
63、在一些實施例中,資源所有者是通信設(shè)備的用戶。
64、在一些實施例中,通信設(shè)備是實現(xiàn)應(yīng)用功能af的網(wǎng)絡(luò)設(shè)備。
65、在一些實施例中,傳送一個或多個用戶同意參數(shù)連同指明通信設(shè)備是否被授權(quán)訪問api的授權(quán)信息。
66、本文中的實施例還包括對應(yīng)的裝置、計算機程序和那些計算機程序的載體。