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