WO2010075761A1 - 一种向访问用户提供资源的方法、服务器和系统 - Google Patents

一种向访问用户提供资源的方法、服务器和系统 Download PDF

Info

Publication number
WO2010075761A1
WO2010075761A1 PCT/CN2009/076141 CN2009076141W WO2010075761A1 WO 2010075761 A1 WO2010075761 A1 WO 2010075761A1 CN 2009076141 W CN2009076141 W CN 2009076141W WO 2010075761 A1 WO2010075761 A1 WO 2010075761A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
group
information
website
server
Prior art date
Application number
PCT/CN2009/076141
Other languages
English (en)
French (fr)
Inventor
孙谦
胡立新
谭东晖
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP09836048.0A priority Critical patent/EP2383946B1/en
Publication of WO2010075761A1 publication Critical patent/WO2010075761A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Definitions

  • the present invention relates to social networking, and more particularly to a method for providing resources to an access user in a distributed social network, an application website server, a social networking server, an OpenlD provider server, and a system. Background technique
  • Social Network Site is a virtual social network based on the idea of social network relationships. From Myspace to Facebook, Kaixin and intranet, social networking sites at home and abroad have matured and become part of the daily life of more and more people. At present, many traditional Internet portals and telecom operators have also launched social networking services. In addition, a large number of applications have been provided to users of social networking platforms. At the same time, the interconnection between social networks and the sharing of application resources have become increasingly prominent. . The main related technologies now include Open Identity (OpenlD) and Open Authentication (OAuth).
  • Open Identity Open Identity
  • OAuth Open Authentication
  • OpenlD is a user-centric digital identity framework that is open, decentralized, and free. Specific terms and specifications for OpenlD can be found on the official website (www.openid.net). For sites that support OpenlD, users do not need to register on each site to get traditional verification tags like usernames and passwords. Instead, users only need to pre-register on a website that is an OpenlD identity provider, and then use an OpenlD identity to log in to each website. OpenlD is decentralized, and any website can use OpenlD as a way for users to log in. Any website can also be used as OpenlD identity. Donor. OpenID solves the problem without relying on a central website to confirm digital identity. OpenID is being adopted by more and more websites. The OAuth protocol is used to enable websites and applications to access a protected resource through the API API without requiring users to disclose their credentials (such as passwords).
  • An embodiment of the present invention provides a method for providing resources to an access user, including: obtaining group information of the user according to an identity of the accessed user to a corresponding server; and verifying the group of the user according to the group information. Membership; provide resources to the user based on the verification results.
  • An embodiment of the present invention provides an application website server, including: a resource data providing unit, configured to store a resource; a resource access authorization setting unit, configured to store a resource access authorization record, where the resource access authorization record stores a group identifier and a resource Corresponding relationship; a login unit, configured to receive login information of the user, including an identifier of the user; and an application website processing unit, configured to obtain group information of the user according to the identity identifier of the user, the group information Used for group authentication, providing resources to users based on the results of the verification.
  • An embodiment of the present invention provides a social networking server, including: a group information providing unit, configured to store group information of a user; and a social networking website processing unit, configured to: when receiving a membership request of the authenticating user, according to the group The group information stored by the information providing unit verifies the membership of the user.
  • An embodiment of the present invention provides an open identity providing server, including: group information storage a storage unit, configured to store the group information of the user; the group information providing unit, configured to return to the user stored by the group information storage unit when receiving the request for acquiring the group information of the user Group information.
  • An embodiment of the present invention provides a system for accessing resources in a social network, including: an application website server, configured to accept a user to log in using an open identity through a browser, and obtain the user from an open identity providing server of the user. Group information, verifying the group membership of the user according to the group information, and providing resources to the user according to the verification result; the open identity providing server, the group information for storing, including the user as a member The information of the website where the group is located, receiving the request of the application website server to obtain the group information, obtaining the signed group information from the website where the user is a member group, and then returning the signed group information to the application a web server; a social web server for storing a group of users, the social web server sending a group event notification to the user's open identity providing server when adding or deleting a member.
  • the group membership of the user is reliably verified by the website where the group is located, thereby realizing the convenience and security of the shared resources.
  • the current application resources and user relationship data are often distributed on different websites in the Internet.
  • the present invention breaks the barriers of sharing resources and relationship data between different websites, and greatly facilitates the development of Internet services.
  • Embodiment 1 is a flow chart of message interaction of a user adding a group member according to Embodiment 1 of the present invention
  • FIG. 2 is a flow chart of message interaction of a user b accessing an application website server resource according to Embodiment 1 of the present invention
  • FIG. 3 is a flow chart of message interaction of a user b accessing an application website server resource according to Embodiment 2 of the present invention
  • FIG. 4 is a diagram of a user b accessing an application website server resource according to Embodiment 3 of the present invention; Message interaction flow chart;
  • FIG. 5 is a flow chart of message interaction of a user b accessing an application website server resource according to Embodiment 4 of the present invention.
  • FIG. 6 is a structural diagram of an application website server according to Embodiment 5 of the present invention
  • FIG. 7 is a structural diagram of a social network server according to Embodiment 6 of the present invention
  • Figure 9 is a structural diagram of an OpenID providing server according to Embodiment 8 of the present invention
  • Figure 10 is a structural diagram of an OpenID providing server according to Embodiment 9 of the present invention
  • FIG. 12 is a system architecture diagram of a user accessing an application website server resource according to Embodiment 11 of the present invention.
  • the website service party that contains the user's social data can be called a socialized website or a social networking website, etc.
  • Socialized data (or social data, referred to as SNS data) mainly includes the user's personal information, contacts, groups. And data such as event information.
  • Embodiments of the present invention describe a scheme for resource sharing in a distributed social networking system.
  • the embodiment of the present invention preferably uses the open identity OpenID as the identity of the user.
  • An OpenID Providers can store only the user's basic profile, such as email, birthday, and gender. It can also store complex SNS data such as contacts, groups, and event information. Of course, it can be simple. It is only responsible for the identity of the user. Generally, a large SNS website can be used as an OP, responsible for user identity authentication, verifying that the user has an identity, and also stores various SNS data of the user.
  • the OpenID providing server corresponding to the user a is the OP-A website
  • the OpenID providing server corresponding to the user b is the website OP-B
  • the other SNS website is the SNS-
  • a website that stores user groups can be referred to as a group server.
  • a general user can divide his or her own contacts into multiple groups. This is a private group, such as a colleague, classmate, family member, etc., and members of the group can overlap, that is, one contact may belong to the user at the same time. Multiple groups.
  • a special group such as "My Friend" can be used to indicate all the contacts of the user on a website, so that when the resource access authorization is performed on the group, the user wants to have access to his own resources by any of his contacts. , you can use this special group "My Friends" to authorize.
  • the resource data of user a such as photos, videos, address collections, comments, logs, presence information, or location information, is stored in an application website server.
  • the application website server also stores authorization data of the user group A-C-a, such as allowing the members of the group Group-C-a to access the resource data of the user a in the application website server.
  • authorization data of the user group A-C-a such as allowing the members of the group Group-C-a to access the resource data of the user a in the application website server.
  • a description is omitted of some steps, such as a browser redirection using the OpenID login website.
  • the website referred to in the present invention actually corresponds to a server entity, and provides webpages and other Internet services to users, and various specific process processing of the website is completed by the corresponding server.
  • Step 101 The social networking website server SNS-C receives a request to add a member in the group.
  • user a can use the OpenID identifier (such as http://openid-usera.example.com) to log in to the website SNS-C, and then request a group owned by the website SNS-C through the browser.
  • Groups such as Group-Ca add user b to the group members.
  • Group The group information usually corresponds to a group identifier and a member list, and the group identifier is generally unique in the entire distributed social network, which can be ensured by including the domain name of the website where the group is located in the group identifier. .
  • the group information can also have information such as the group name and description.
  • Step 102 The website SNS-C adds members to the group. If the member user b is added to the group Group-C-a, the user's OpenlD identity and other information are added to the group member list. In other embodiments of the present invention, in addition to adding group members one by one, contacts can also be imported into groups in batches.
  • the group's member list contains the member's OpenlD identity, such as user b's OpenlD identity (such as http://openid-userb.example.net ). It can also contain information such as the member's name, nickname, and contact information.
  • Step 103 The website SNS-C notifies the OP of the group member.
  • group events such as deletion of members can also notify the OP of the group members involved. If a member user b is added or deleted from the group Group-C-a, the user's OpenlD is required to provide the server website OP-B.
  • the OpenlD identifier of the group member may determine the corresponding OP, and then the website SNS-C notifies the corresponding OP of the group event that occurs, such as adding or deleting members, and the group event notification may include members such as OpenlD identifier and event type. Group event information.
  • the OP-B can know that the user is a member of a group on the website SNS-C according to the group event notification.
  • the group event notification may not include a specific group identifier.
  • the website SNS-C may not have to notify the OP-B every time the user member b is added. Specifically, when the member user b is added, it is determined whether the user b is already a member of another group in the SNS-C. If not, the group event notification is sent to the OP-B, otherwise it is not sent. When the member is deleted, it is also determined whether the user b is a member of other groups in the SNS-C.
  • the group event notification is sent to the OP-B, otherwise it is not sent.
  • OP-B can know whether the website SNS-C has a member user b in all group scopes, and does not have to send a notification every time.
  • the group event notification service provided by the OP may be discovered by a Yet Another Decentralized Identity Interoperability System (Yadi) or the like.
  • Yadi Yet Another Decentralized Identity Interoperability System
  • XRDS extensible Resource Descriptors
  • the website SNS-C sends an HTTP GET or POST request message to the group event notification service address provided by the OP such as "http: ⁇ provider.example.com/group- notify", and the message contains group event information.
  • the following fields can be included in the request message:
  • Group— event—type whose value is a group event type, such as adding add, deleting delete, and so on.
  • This message indicates the identity of the member being added or deleted.
  • the method may further include: group-host, where the value is a URL indicating a website server address where the group is located. 0P can go to this address to get the specific group information of the user. If the request message does not contain this field, 0P can also determine the website server address where the group is located according to the IP address of the requester or the From field in the HTTP request.
  • the activity information of the user may be exposed to the SNS-C, for example, the website SNS-C may according to the information of the application website server.
  • 0P-B provides the corresponding group information instead of all the groups where user b is located. If a malicious website is added to the group of the website without user confirmation, and the resources are authorized for these groups on some other application websites, the activity of the user using the application website will be due to the group members going to the malicious website. Exposure to authentication is not conducive to user privacy protection.
  • the group member's 0P can be connected. After the group event notification, when the group member logs in to the OP next time, the related notifications are displayed to the group members, and the group members are prompted to confirm. If the user does not trust the SNS-C website, or if the website SNS-C may be malicious (such as to distribute advertising information, or maliciously track user activity, etc.), the confirmation operation may be refused. After the group member performs the confirmation operation, the OP of the group member sets a confirmation flag for the website SNS-C. If the subsequent user no longer trusts the website SNS-C, the confirmation flag can be modified to the rejection flag.
  • the user's OpenID providing server requests only the signed group information from the website of the group confirmed by the user.
  • the OP of the group member sends a confirmation email to the group member after receiving the group event notification, after the group member clicks the confirmation operation link in the email, the OP of the group member goes to the website SNS-C Set the confirmation mark.
  • Subsequent authorization group Group-C-a can access the resources of user a in the application website server.
  • Authorization is usually initiated by the owner of the resource, such as user a, such as authorizing a group to access a set of photo resources or location information in the application's web server.
  • the authorized group is usually a group owned by the user a or a group as a member, but may also be a group having no relationship with the user a.
  • the application website server stores the correspondence between the identifiers of the authorized groups provided by the user a and the resources, that is, the resource access authorization records of the storage group.
  • the process of the user b accessing the application website server is described next.
  • the first embodiment describes the manner in which the group information is obtained by using the OP-B as a proxy. Referring to Figure 2, the main steps are as follows:
  • Step 201 The application website server accepts the user b and logs in using the OpenID identifier.
  • Step 202 The application website server requests the OP-B to obtain information of the group in which the user b is a member.
  • the HTTP POST or GET message may be used, and the message includes a user identifier field, for example, the content of the field may be the OpenID identifier of the user b.
  • Step 203 The OP-B requests to obtain the group information from a website such as the SNS-C, where the group information includes a group list in which the user b is a member. And SNS-C signs information such as group list to ensure that this information will not be tampered with by OP-B. If user b is a member of a group on the SNS-C, or a member of another group of sites, OP-B also goes from one to the other. The website obtains the group information of the signed user b.
  • the OP-B Since the OP-B obtains the information according to the group event notification, it can only know which websites the group containing the user b in the member is on, but does not know the specific group identifier, and the application website needs a specific group identification to perform. Authorized access to resources, so OP-B wants to request specific group IDs from these websites. Specific requests can use messages such as HTTP POST, which can include fields in the request message:
  • This message indicates the identity of the member.
  • the website receiving the message should return the information of the group in which the member is located in the website in the response message.
  • the response message includes a group list and a signature information field.
  • Group list, whose value is a list of group IDs, and users are members of these groups.
  • Nonce a random number, must contain a timestamp, can also contain extra characters, and so on.
  • Sign type, the type of signature algorithm, such as PKCS (The Public-Key Cryptography Standards).
  • PKCS Public-Key Cryptography Standards
  • the application website server requests the OP-B to obtain the information of the group in which the user b is a member, it may bring the signature algorithm type supported by the user, and then forward it to the SNS-C in the request of the OP-B, and the SNS-C uses these.
  • the type of signature algorithm supported by the application web server When the application website server requests the OP-B to obtain the information of the group in which the user b is a member, it may bring the signature algorithm type supported by the user, and then forward it to the SNS-C in the request of the OP-B, and the SNS-C uses these.
  • the type of signature algorithm supported by the application web server When the application website server requests the OP-B to obtain the information of the group in which the user b is
  • Signed the list of fields to be signed, can include fields such as member_id, group_list, and response—nonce.
  • Sig the data after signing the fields contained in the signed using the algorithm indicated in sign_type.
  • the group list and the fields such as the signature together constitute the membership verification result, which may also be called the group verification information.
  • Step 204 The OP-B returns the group information of the user b to the application website server.
  • Group information includes a list of groups including users b and signatures.
  • Step 205 The application website server verifies the signature of the group information. Specifically, it can be verified by using a public key of each website such as SNS-C. After the verification is successful, the group of user b can be confirmed. As a member, you can confirm that user b is a member of the group in the group list.
  • Step 206 The application website server returns to the user b's browser a list of resources or a list of user names that the user has access to.
  • the application website server may be based on the group identifier in the resource access authorization record (such as the group Group-Ca authorized by the user a for resource access) and the group identifier (group member) in the group information obtained from the OP-B.
  • the user b) is compared to obtain a list of private resources to which the user b has access or a list of user names of the resource owners.
  • the application website server does not have to go to the SNS-C to verify the user's group membership.
  • the OP-B can use the signature technology to verify the signature by using the website server when returning the group information.
  • the accuracy of the group information is ensured, that is, the efficiency is improved and the security is ensured.
  • SNS-C and OP-B are the same website, or websites within the same domain, it is more efficient than other programs.
  • Step 301 The application website server accepts the user b and logs in using the OpenID identifier.
  • Step 302 The application website server requests the OP-B to obtain the group information, that is, the information of the website where the member includes the group of the user b.
  • Step 303 The application website server obtains, from the website where the group is located, a specific group identifier including the user b in the member.
  • the specific group identifier obtained in this step is the verification result, that is, the group that determines user b as a member.
  • This method usually uses a trust relationship between the website server and the website where the group is located. Otherwise, the application website server may obtain the user group information for illegal purposes.
  • the SAML Security Assertion Markup Language
  • HTTP POST message can be used to obtain a specific group identifier containing the user b in the member, and is carried by using an HTTP POST message.
  • the website where the group containing the user b is located is the attribute of the user b, and the application website server requests the attribute b of the user b to assert the HTTP POST message.
  • the returned attribute assertion can include user B's OpenID identifier and multi-valued group attributes.
  • An example of the group attribute is as follows:
  • NameFormat n urn:oasis:names:tc:SAML:2.0:attrname-format:uri n
  • the group identifier is in the UUID (Universal Unique Identifier) format to ensure its uniqueness in a distributed environment.
  • UUID Universal Unique Identifier
  • Step 304 The application website server provides resources to the user b according to the resource access authorization records corresponding to the group identifiers.
  • the OP can use the information.
  • the group distribution information of a user on each website is roughly maintained, that is, the group event notification mechanism can let the OP know the situation of the user group, even if the groups are distributed on different websites. Subsequent information about the groups in which these users are located can be provided to the application website for use.
  • Step 401 The application website server accepts the user b and logs in using the OpenID identifier.
  • Step 402 The application website server obtains group information including the member user b, such as a group identifier, from the OP-B.
  • group information including the member user b such as a group identifier
  • the application website server can request the OP-B to obtain the group information including the member user b through the OpenlD Attribute Exchange method of OpenlD.
  • the group identity attribute information included in the response message obtained by the application website server through the attribute exchange method of OpenlD may include:
  • the application website server can learn that the user b is a member of the group Group-C-a on the SNS-C and a member of the group Group-E-m on the other SNS-E according to the group identifier.
  • the user-owned group information or the group information of the member can be obtained from the OP, and another method can be implemented by the OAuth protocol.
  • the user group information is used as a protected resource
  • the application server is used as a consumer
  • the OP storing the group information is used as a service provider
  • the application server is OAuth.
  • the protocol process obtains the user's group information from the OP.
  • the application website server in this embodiment may contain resources that do not belong to any private user, or resources that a user authorizes to be public to all, and these resources may be referred to as public resources.
  • a resource that belongs to a private user and requires authorization to access is called a private resource.
  • Users can set resource access authorization for groups or individual users. In addition to authorizing groups that they own, users can even authorize groups owned by other trusted users, as long as the authorization settings record is applied.
  • the application website server can return the user name of the owner of the private resource to which it has access to user b, or return to user b a list of private resource links to which he has access.
  • the manner of returning the username is mainly described.
  • Step 403 The application website server returns a user name link of the owner of the private resource to which the user b has access rights.
  • the application website server obtains a group identifier or the like in the authorization setting record (such as the group Group-Ca authorized by the user a) and the group identifier obtained from the OP-B (the user member b is included in the group member) to obtain a comparison and comparison.
  • a group identifier or the like in the authorization setting record such as the group Group-Ca authorized by the user a
  • the group identifier obtained from the OP-B the user member b is included in the group member
  • User b The username of the owner of the private resource that has access rights (such as user a ).
  • User B's browser displays a returned username link through which the user's resource list can be accessed.
  • the general application website server does not have to return all the user names of the owner of the private resource to which the user b has access, because sometimes the number is relatively large, and only some user names can be returned for the first time according to the resource update time, etc., these returned Those resources that allow user b to access in the private resources of the user name have recently been updated, such as adding new photos, changing location information, and the like. For those who have not updated for a long time, or have not updated after user b's last visit, they can return after the user b's subsequent request.
  • Step 404 The application website server receives a request from the user b to obtain a resource list by using a username link.
  • Step 405 The application website server verifies the group membership of the user b.
  • the application website server performs group membership authentication for user b, and after the verification succeeds, displays the resource list of user a that user b has permission to access.
  • the application website server firstly sets a record according to the resource authorization setting of the user a and the group information of the user b obtained from the OP, and obtains a group authorized by the user a and including the user b, and then belongs to the group where the group is located.
  • the web server requests verification of the identity of user b. If a request for membership authentication is requested from the website SNS-C where the group Group-C-a is located, it is requested to verify whether the user b is a member of the group Group-C-a.
  • the application website server detects that the user a has a member user b in addition to the group Group-Ca, and the user a also performs the application server on these groups.
  • these groups may not be on the same website as Group-Ca, that is, not in SNS-C, and the application website server also performs membership authentication to other websites.
  • the application website server can verify the membership of the user b in each group one by one, and then use the union of the resources corresponding to the access group corresponding to the verified group as the resource list that the user b can access.
  • the application web server can send verification requests to the websites of these groups in parallel.
  • the resources are also counted in the above.
  • the application website server can send a verification request to the website SNS-C using a secure HTTPS message. If the group information obtained by the application website server includes the verification service address of the website where the group is located, the verification request message may be directly sent to the verification service address, where the message includes the group identification and the membership identification.
  • the application website server can also perform automatic discovery according to the group identifier (such as XRI or URL format identifier) in the obtained group information. For example, for the group identifier of the URL format, the Yadis protocol can be tried, and the application website server obtains the group. The verification service address provided by the SNS-C of the website where the group is located, and then the verification request message is sent to the verification service address. If the authentication request is sent using the HTTPS POST message, the verification result is carried in the returned response.
  • the group identifier such as XRI or URL format identifier
  • the Yadis protocol can be tried, and the application website server obtains the group.
  • the verification service address provided by the SNS-C of the website where the group is located, and then the verification request message is sent to the verification service address. If the authentication request is sent using the HTTPS POST message, the verification result is carried in the returned response.
  • Step 406 The application website server returns to the user b a resource list of the user a who has the access right or refuses to provide the resource list. After the member authentication succeeds, when user b accesses the specific resources in the resource list, the member authentication is no longer necessary.
  • the advantage of group authentication through the website where the group is located, such as SNS-C, is to prevent OP-B from falsifying user b's membership in group Group-C-a.
  • the group notification mechanism does not guarantee that the group information on the website where the group is located, such as the SNS-C, can be updated to the OP-B in real time, so the group information data on the OP-B may be inaccurate. Therefore, it is necessary to request the group membership authentication to the website where the group is located, such as SNS-C, instead of the application server directly trusting and using the group information of the user b obtained from the OP-B.
  • the fourth embodiment of the present invention mainly describes an application website after the user b logs in to the application website server.
  • this embodiment also adopts a method of performing member authentication after the user b logs in, which enhances security. Referring to Figure 5, the main steps are as follows:
  • Step 501 The application website server accepts the user b and logs in using the OpenID identifier.
  • Step 502 The application website server obtains group information of the user b as a member, such as a group identifier, from the OP-B.
  • the application website server can remove the group that does not exist in the authorization setting, that is, if no resource is authorized to a group, the application website server does not have to verify the user b in the group. Membership in the group.
  • the application website server determines the group identity that exists in the resource authorization settings and that contains the user b in the member.
  • Step 503 The application website server verifies the group membership of the user b.
  • Group membership verification can be performed on the identified group. These identified groups may be located on different websites, and verification requests are made one by one.
  • user a also accesses a resource to other groups except Group-C-a
  • user b is also a member of group such as Group-D-a. That is, user b is a member of Group-C-a and is also a member of another group such as Group-D-a.
  • the application server server After the application server server successfully authenticates any group, user b can be allowed to access the resource. If the application server verifies that user b is a member of Group-C-a, but successfully verifies that user b is a member of Group-D-a, user b is still allowed to access the resource.
  • Step 504 The application website server returns to the user b a list of private resource links to which it has access rights. Users b can access resources through private resource links, and they do not have to perform group membership verification when accessing these resources.
  • the general application web server does not have to return all the private resource links that user b has permission to access for the first time, because there may be a large number of possible, and some private resource link lists may be returned according to the resource update time and the like. You can also return only the private resource links that have been updated within a certain period of time, such as a week.
  • a website is used as an authentication server.
  • SSO Single sign-on
  • a website is used as an authentication server.
  • the identity authentication server can centrally store group information in a mutually trusted website system.
  • the identity authentication server is quite similar to the OpenlD provider in the above embodiment, except that the OpenlD provider is group information of the distributed storage user. After the user single-clicks on any website, the website can directly determine the identity authentication server. It is not necessary to determine the OpenlD provider according to the user identity as in the OpenlD mode. The rest of the processing is basically the same and will not be described here.
  • An application website server 10 includes a resource data providing unit 101, a resource access authorization setting unit 103, a login unit 105, and an APP (application website) processing respectively connected to the above unit. unit.
  • the resource data providing unit 101 is configured to store various resource data uploaded by the APP user, such as photos, videos, URL collections, comments, logs, presence information, or location information.
  • the resource access authorization setting unit 103 is configured to store a resource access authorization record set by the user, where the resource access authorization record provides a correspondence between the identifier of the authorized group provided by the user a and the resource, for example, the user a Group-Ca authorization data, such as allowing members of the group Group-Ca to access the resource data of the user a in the application website server.
  • the login unit 105 is configured to receive a login of the user using the open identity OpenlD through the browser to verify the identity of the user.
  • the APP processing unit 107 is configured to obtain the Open1D of the user from the login unit 105, obtain the group information of the user from the providing server of the Open1D, and verify the group membership of the user according to the group information, according to the verification result and the resource.
  • the resource access authorization record in the access authorization setting unit 103 provides resources to the associated user.
  • the APP processing unit 107 implements the group member of the user by verifying the signature of the group information returned by the OpenlD providing server OP-B.
  • the APP processing unit 107 obtains the group information of the user from the social network website server SNS-C, and simultaneously verifies the user.
  • the application website server 10 implements the methods provided in the third and fourth embodiments of the present invention, in conjunction with FIG. 4 and FIG. 5, the APP processing unit 107 obtains the group member information of the user and then verifies to the social networking website server SNS-C.
  • a social networking server (SNS) 20 provided in Embodiment 6 of the present invention includes a group information providing unit 201 and an SNS processing unit 203.
  • the group information providing unit 201 is configured to store group information of the user, where the group information generally corresponds to a group identifier and a member list, and the group identifier is generally unique in the entire distributed social network, which may It is guaranteed by including the domain name of the website where the group is located in the group logo.
  • the group information can also have information such as the group name and description.
  • the member list generally includes the user's OpenID ID and other information.
  • the SNS processing unit 203 is configured to: when receiving the request to add or delete a member in the group, update the group information of the user stored by the group information providing unit 201, such as adding or deleting in the member list corresponding to the group.
  • the OpenID identifier is configured to: when receiving the group information request of the querying user, acquire the group information of the corresponding user, such as the group identifier of the group in which the user is located, from the group information providing unit 201; or, when receiving the verification When the user's membership is requested, the membership of the user is verified according to the correspondence between the group identifier and the member list stored by the group information providing unit 201.
  • the social networking website processing unit may first verify the user identity signature in the request, and provide the user group information after the verification is passed. This further enhances security by preventing other users or third parties from impersonating users from the social networking site to obtain information about whether the user belongs to a group.
  • a user logs in to the application website, if they log in using OpenID, they can generate an identity signature after successful login, and then carry the user's identity signature in the request to obtain the group information.
  • the social networking website can provide the user's group information to the application website or the OpenID providing server for verification of the user group identity.
  • a social networking server (SNS) 22 provided in Embodiment 7 of the present invention includes a group information providing unit 221, a group event notifying unit 225, an SNS processing unit 223, and a signing. Name unit 227.
  • the group information providing unit 221 and the SNS processing unit 223 are fully equipped with the functions involved in the implementation of the sixth.
  • the SNS processing unit 223 triggers the group event notification unit 225 to notify the member of the OpenID providing server.
  • the group event notification may include group event information such as a member's OpenID identifier, group identifier, and event type.
  • the group event notification may not include a specific group identifier.
  • the social networking server may not have to notify the OpenID providing server each time the user member is added or deleted. Notify the OpenID provider server only when the user first joins all groups of the social networking server, or when the user deletes from all groups of the social networking server.
  • the signature unit 227 is configured to, when the SNS processing unit provides the group information of the user, sign the group information to prevent the group information from being tampered with in the transmission, and verify the group information by using a signature method.
  • the social networking server can provide secure and reliable signed group information, so that the security of the distributed system is guaranteed.
  • the Open Identity (OpenID) providing server 30 of the eighth embodiment of the present invention includes: an identity authentication unit 301, a group information storage unit 303, and group information provided separately from the foregoing unit.
  • Unit 305 The identity authentication unit 301 is configured to verify the identity of the user by using the received user OpenID.
  • the group information storage unit 303 is configured to store group information of the user and various SNS data, for example: email, birthday, gender, contact, group, website corresponding to the group, group identifier of the user Wait.
  • the group information providing unit 305 receives the group event notification sent by the SNS-C, the group information of the corresponding user stored in the group information storage unit 303 is notified according to the group event notification.
  • the group event includes the following fields: group_event_type group event type, member-id is the user OpenID identifier, and optionally, the website server address where the group-host group is located.
  • the group information providing unit 305 is further configured to: when receiving the request for acquiring the group information including the user b, to the social networking server SNS corresponding to the website address where the stored group is located. C requests to obtain the group information of the user b.
  • the group information providing unit 305 is further configured to: when receiving the information of the website where the group of the user b is located, provide the website information where the group of the user b is located.
  • the ninth embodiment of the present invention provides an OpenlD providing server 32, wherein the function of the identity authentication unit 321 is the same as that of the eighth embodiment, and details are not described herein again.
  • the OP 32 further includes a group event confirming unit 327 connected to the group information providing unit 325, configured to: after the group information providing unit 325 receives the group event notification, according to the group event
  • the notification update group information storage unit 323 corresponds to the group information of the user.
  • the group event confirming unit 327 displays the received related notification to the group member, and prompts the group member to confirm.
  • the confirmation operation can be refused.
  • the OP of the group member sets a confirmation flag for the website SNS-C. If the subsequent user no longer trusts the website SNS-C, the confirmation flag can be modified to the rejection flag.
  • the user's OpenlD provisioning server only requests group information from the website where the user confirmed the group is located.
  • FIG. 11 is a system architecture diagram of a user accessing an application website server resource according to Embodiment 10 of the present invention.
  • the application website server 10, the social network website server 20 and the OpenlD providing server 30 are described in the fifth embodiment, the sixth embodiment and the eighth embodiment, and are not described here.
  • the APP processing unit 107, the SNS processing unit 203, and the group information providing unit 305 are connected in pairs to implement interaction between the application website server 10, the social networking server 20, and the OpenlD providing server 30.
  • the system architecture is mainly used to implement the methods provided in Embodiment 1 and Embodiment 2 of the present invention.
  • FIG. 12 is a system architecture diagram of a user accessing an application website server resource according to Embodiment 11 of the present invention.
  • the application website server 10, the social network website server 22, and the OpenlD providing server 32 are described in the fifth embodiment, the seventh embodiment, and the ninth embodiment, and are not described herein again.
  • the APP processing unit 107, the SNS processing unit 223, and the group information providing unit 325 are connected in pairs to implement the application website server 10, the social website server 22, and the OpenlD service provider. Interaction between servers 32.
  • the system architecture is mainly used to implement the methods provided in Embodiment 3 and Embodiment 4 of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种向访问用户提供资源的方法,该方法包括步骤:根据访问用户的身份标识到相应的服务器获得所述用户的群组信息;根据所述群组信息验证所述用户的群组成员身份;根据验证结果向所述用户提供资源。采用本发明实施例,在分布式的社交网络环境中,通过由群组所在的网站对用户的群组成员身份进行可靠的验证,实现了共享资源的便捷性和安全性。

Description

一种向访问用户提供资源的方法、 服务器和系统 本申请要求 2008年 12月 31 日递交的申请号为 200810242210.6、 发明 名称为 "一种向访问用户提供资源的方法、 服务器和系统" 的中国专利申请 的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及社会化网络,尤其涉及分布式社会化网络中一种向访问用户 提供资源的方法、 应用网站服务器、 社交网站服务器、 OpenlD提供方服务 器和系统。 背景技术
社交网站( Social Network Site, SNS )是基于社会网络关系思想建立的 网络虚拟社交网络。 从 Myspace到 Facebook、 开心网和校内网等, 国内外 的社交网站已经走向成熟, 成为越来越多人日常生活的一部分。 目前很多互 联网传统门户以及电信运营商也都陆续推出社交网站业务,另外还出现了大 量提供给社交网络平台用户的各种应用, 同时社交网络之间的互联互通以及 应用资源共享的问题也日益突出。 现在相关的主要技术有开放身份标识 ( Open Identity, OpenlD )和开放认证 ( Open Authentication, OAuth )等协 议。
OpenlD是一个以用户为中心的数字身份识别框架, 它具有开放、 分散、 自由等特性。 OpenlD的具体术语和规范可参见其官方网站( www.openid.net ) 上的资料。 对于支持 OpenlD的网站, 用户不需要在每个网站都进行注册获 得像用户名和密码这样的传统验证标记。 取而代之的是, 用户只需要预先在 一个作为 OpenlD 身份提供者的网站上注册, 然后就可以使用一个 OpenlD 身份来登录到各个网站了。 OpenlD 是去中心化的, 任何网站都可以使用 OpenlD来作为用户登录的一种方式,任何网站也都可以作为 OpenlD身份提 供者。 OpenID 既解决了问题而又不需要依赖于中心性的网站来确认数字身 份。 OpenID正在被越来越多的网站采用。 而 OAuth协议用于使网站和应用 程序能够在无须用户透露其认证证书(如密码)的情况下, 通过应用程序接 口 API访问某个受保护的资源。
为了在社交网络中真正彻底的实现互联互通和资源共享, 目前仅靠 OpenID和 OAuth等协议是不够的。 用户和他的好友或群组成员的身份都可 能归属于不同的 OpenID提供服务器, 而且一个用户可能在不同的网站中都 分别创建了一些群组,又在另外一些应用网站中对某些群组进行资源共享的 访问授权。 在这样一个分布式的社交网络环境中, 不仅要对用户的身份进行 跨网站的认证,还需要对用户的群组成员身份进行可靠的验证以保证共享资 源的安全性。 发明内容
本发明实施例提供了一种向访问用户提供资源的方法, 包括: 根据访问 用户的身份标识到相应的服务器获得所述用户的群组信息;根据所述群组信 息验证所述用户的群组成员身份; 根据验证结果向所述用户提供资源。
本发明实施例提供了一种应用网站服务器, 包括: 资源数据提供单元, 用于存储资源; 资源访问授权设置单元, 用于存储资源访问授权记录, 所述 资源访问授权记录存储群组标识与资源的对应关系; 登录单元, 用于接收用 户的登录信息, 其中包括用户的身份标识; 应用网站处理单元, 用于根据所 述用户的身份标识获得所述用户的群组信息,所述群组信息用于群组身份验 证, 根据验证结果向用户提供资源。
本发明实施例提供了一种社交网站服务器, 包括: 群组信息提供单元, 用于存储用户的群组信息; 社交网站处理单元, 用于当接收到验证用户的成 员身份请求时, 根据群组信息提供单元存储的群组信息验证用户的成员身 份。
本发明实施例提供了一种开放身份标识提供服务器, 包括: 群组信息存 储单元, 用于存储用户的群组信息; 群组信息提供单元, 用于当接收到获取 所述用户的群组信息的请求时,返回所述群组信息存储单元所存储的所述用 户的群组信息。
本发明实施例提供了一种社会化网络中访问资源的系统, 包括: 应用网 站服务器, 用于接受用户通过浏笕器使用开放身份标识登录, 从用户的开放 身份标识提供服务器获得所述用户的群组信息,根据所述群组信息验证所述 用户的群组成员身份, 根据验证结果向所述用户提供资源; 开放身份标识提 供服务器, 用于存储的群组信息, 其中包括用户作为成员的群组所在网站的 信息, 接收应用网站服务器获取群组信息的请求, 向所述用户作为成员的群 组所在网站获得签名过的群组信息,然后将所述签名过的群组信息返回给应 用网站服务器; 社交网站服务器, 用于存储用户的群组, 在增加或删除成员 时,所述社交网站服务器向用户的开放身份标识提供服务器发送群组事件通 知。
综上所述, 采用本发明实施例, 在分布式的社交网络环境中, 通过由群组 所在的网站对用户的群组成员身份进行可靠的验证, 实现了共享资源的便捷性 和安全性。 尤其是目前应用资源和用户的关系数据等往往是分散于互联网中的 不同网站, 本发明打破了不同网站之间共享资源和关系数据的障碍, 大大有利 于互联网业务的发展。 附图说明
图 1 为本发明实施例一中提供的一种用户增加群组成员的消息交互流 程图;
图 2为本发明实施例一中提供的一种用户 b访问应用网站服务器资源的 消息交互流程图;
图 3为本发明实施例二中提供的一种用户 b访问应用网站服务器资源的 消息交互流程图;
图 4为本发明实施例三中提供的一种用户 b访问应用网站服务器资源的 消息交互流程图;
图 5为本发明实施例四中提供的一种用户 b访问应用网站服务器资源的 消息交互流程图;
图 6为本发明实施例五提供的一种应用网站服务器的结构图; 图 7为本发明实施例六提供的一种社交网站服务器的结构图; 图 8为本发明实施例七提供的一种社交网站服务器的结构图; 图 9为本发明实施例八提供的一种 OpenID提供服务器的结构图; 图 10为本发明实施例九提供的一种 OpenID提供服务器的结构图; 图 11为本发明实施例十提供的一种用户访问应用网站服务器资源的系 统架构图;
图 12为本发明实施例十一提供的一种用户访问应用网站服务器资源的 系统架构图。
具体实施方式
包含有用户的社会化数据的网站服务方都可以称为社会化网站或社交 网站等, 社会化数据 (或称为社交数据, 简称为 SNS数据) 主要包括用户 的个人资料, 联系人, 群组和活动信息等数据。 本发明实施例描述了在分布 式的社会化网络系统中进行资源共享的方案。为了使用户方便的登录和访问 多个互相独立的 SNS网站, 以及将分布存储的 SNS数据关联在一起, 本发 明实施例优选采用开放身份标识 OpenID作为用户的身份标识。
一个 OpenID提供服务器( OpenID Providers , OP )可以只存储有用户 的基本个人资料, 如电子邮件, 生日和性别等, 也可以存储联系人、 群组和 活动信息等复杂的 SNS数据, 当然甚至可以简单得只是负责用户的身份认 证。 一般大型的 SNS网站都可以作为 OP, 负责用户的身份认证, 证实用户 拥有某个身份标识, 也同时存储用户的各种 SNS数据。 本发明实施例在分布式的社会化网络系统中,假定用户 a对应的 OpenID 提供服务器为网站为 OP-A, 用户 b 对应的 OpenID 提供服务器为网站为 OP-B,在另外一个 SNS网站 SNS-C中存在有用户 a的一个群组 Group-C-a, 该群组的成员中包含用户 b。在其他的 SNS网站中也可能存在有包含成员用 户 b的群组, 即成员中包含用户 b的群组可以是分布于多个不同的 SNS网 站中的。 可以将存储用户群组的网站称为群组服务器。
一般用户可以将自己的联系人分为多个群组, 这种属于私人群组, 如同 事、 同学、 家人等, 而且群组之间的成员可以有重叠, 即一个联系人可能同 时属于用户的多个群组。 另外可以用一个特别群组如 "我的好友" 来表示用 户在一个网站的全部联系人, 这样在对群组进行资源访问授权时, 用户如果 想让自己的任何联系人都可以访问自己的资源, 就可以使用这个特别群组 "我的好友" 来进行授权。 另外还有一种公共群组, 如班级通讯录、 QQ群 或 MSN群等, 群组成员都可以使用该群组, 对该群组进行资源访问授权。
在一个应用网站服务器中存储有用户 a的资源数据, 如照片、 视频、 网 址收藏、 评论、 日志、 呈现信息或位置信息等数据。 应用网站服务器中还存 储有用户 a对群组 Group-C-a的授权数据, 如允许群组 Group-C-a的成员访 问用户 a在应用网站服务器中的资源数据。本发明实施例中为简明起见省去 了部分步骤如使用 OpenID登录网站所进行的浏笕器重定向等过程的描述。 本发明中所称的网站实际都对应有服务器实体,向用户提供网页以及其他互 联网服务, 网站的各种具体的流程处理都由相应的服务器完成。
本发明第一实施例中, 首先描述用户增加群组成员的处理过程。 参照图 1 , 主要包括步骤:
步骤 101、社交网站服务器 SNS-C接收到在群组中添加成员的请求。一 般 由 用 户 触发 , 如用 户 a 可 以 在使用 OpenID 标识 ( 如 http ://openid-usera. example .com )登录网站 SNS-C后, 通过浏笕器请求在网 站 SNS-C中自己拥有的一个群组如 Group-C-a的群组成员中增加用户 b。群 组信息中通常对应有一个群组标识和成员列表,该群组标识一般在整个分布 式社会化网络中是唯一的,这可以通过在群组标识中包含群组所在网站的域 名等方式来保证。 群组信息中还可以有群组名称和描述等信息。
除了由用户 a触发外,其他有权限的用户或应用也可以在用户 a的群组 中增加成员。
步骤 102、 网站 SNS-C在群组中增加成员。 如在群组 Group-C-a中增加 成员用户 b, 即在群组的成员列表中增加用户 b的 OpenlD身份标识及其他 信息。 在本发明的其它实施例中, 除了逐个增加群组成员外, 也可以批量的 将联系人导入到群组中。 群组的成员列表中包含成员的 OpenlD身份标识, 如用户 b的 OpenlD标识 (如 http://openid-userb.example.net ) 。 还可以包含 成员的姓名、 昵称、 联系方式等信息。
步骤 103、 网站 SNS-C通知群组成员的 OP。 除了增加成员夕卜, 发生的 删除成员等群组事件也可以通知所涉及到的群组成员的 OP。 如从群组 Group-C-a中增加或删除成员用户 b时, 都要通知用户 b的 OpenlD提供服 务器网站 OP-B。 居群组成员的 OpenlD标识可以确定对应的 OP, 然后网 站 SNS-C向对应的 OP通知发生的群组事件如增删成员,所述群组事件通知 中可以包括成员的 OpenlD标识和事件类型等群组事件信息。
OP-B 根据群组事件通知可以获知用户是网站 SNS-C 上某个群组的成 员。 群组事件通知中可以不包含具体的群组标识。 这样由于不必精确的让 OP-B获知用户是哪个具体群组的成员, 则网站 SNS-C也可以不必每次增加 用户成员 b时都通知 OP-B。 具体的可以在增加成员用户 b时, 判断用户 b 是否已经是 SNS-C中其他群组的成员了,如果不是则向 OP-B发送群组事件 通知, 否则则不发送。 而在删除成员时, 也判断用户 b是否是 SNS-C中其 他群组的成员, 如果不是则向 OP-B发送群组事件通知, 否则则不发送。 这 样 OP-B可以获知网站 SNS-C是否有在所有群组范围内包含成员用户 b, 而 不必每次都发送通知。 具体的可以通过如非集中身份验证互用系统协议 ( Yet Another Decentralized Identity Interoperability System, Yadis )等来发现 OP提供的群 组事件通知服务。 相应的 XRDS (可扩展资源描述文档, extensible Resource Descriptors ) 文当举^1列 口下:
<Service xmlns=*'xri://$xrd*($v*2.0)n>
<Type>http://specs.openid.net/auth/3.0/group_notify</Type>
<URI>http://provider.example.com/group_notify</URI>
</Service>
网 站 SNS-C 向 OP 提供 的 群组 事 件通知服务地址如 "http:〃 provider.example.com/group— notify"发送 HTTP GET或 POST请求消 息, 消息中包含群组事件信息。 请求消息中可以包含以下字段:
group— event— type, 其值为一个群组事件类型, 如增加 add、 删除 delete 等类型。
member— id, 其值为一个 OpenID标识, 此消息中表示被增加或删除成 员的身份标识。
可选的, 还可以包括: group— host, 其值为一个 URL, 表示群组所在的 网站服务器地址。 0P可以到这个地址去获取用户所在的具体群组信息。 如 果请求消息中不包含这个字段, 0P也可以根据请求者的 IP地址或 HTTP请 求中的 From字段等确定群组所在的网站服务器地址。
如果 0P-B向网站 SNS-C发送获取群组信息的请求中包含应用网站服务 器的信息, 则可能会向 SNS-C暴露用户的活动信息, 如网站 SNS-C可以根 据应用网站服务器的信息向 0P-B提供相应的群组信息, 而不是用户 b所在 的全部群组。 如果一个恶意网站未经用户确认就将其加入本网站的群组中, 并在其他一些应用网站对这些群组进行资源授权,用户使用应用网站的活动 就会由于要去恶意网站进行群组成员身份验证而暴露,不利于用户的隐私保 护。
由此还可以通过以下确认步骤来提高安全性: 群组成员的 0P可以在接 到群组事件通知后, 群组成员下次登录 OP时, 向群组成员显示所接到的相 关通知, 并提示群组成员进行确认。 如果用户不信任这个网站 SNS-C, 或者 认为网站 SNS-C可能是个恶意的 (如用来散发广告信息, 或恶意跟踪用户 活动等) , 则可以拒绝进行确认操作。 群组成员进行确认操作后, 群组成员 的 OP对该网站 SNS-C设置确认标志。如果后续用户不再信任该网站 SNS-C, 可以将确认标志修改为拒绝标志。 用户的 OpenID提供服务器仅向经过用户 确认的群组所在网站请求获得签名过的群组信息。
或者当群组成员的 OP在接到群组事件通知后, 发送确认电子邮件给群 组成员, 在群组成员点击电子邮件中的确认操作链接后, 群组成员的 OP对 该网站 SNS-C设置确认标志。
后续可以在应用网站服务器中授权群组 Group-C-a可访问用户 a 的资 源。 授权通常由资源的所有者如用户 a发起, 如授权某个群组可以访问自己 在应用网站服务器中的某组照片资源或位置信息等。被授权的群组通常为用 户 a自己拥有的群组或作为成员的群组,但也可以是与用户 a没有任何关系 的群组。应用网站服务器存储用户 a所提供的被授权群组的标识与资源之间 的对应关系, 即存储群组的资源访问授权记录。
接着描述用户 b访问应用网站服务器的处理过程,本实施例一主要描述 以 OP-B为代理获取群组信息的方式。 参见图 2, 主要包括以下步骤:
步骤 201、 应用网站服务器接受用户 b使用 OpenID标识登录。
步骤 202、 应用网站服务器向 OP-B请求获得用户 b作为成员的群组的 信息。 具体可以通过 HTTP POST或 GET消息, 消息中包括用户标识字段, 如该字段的内容可以是用户 b的 OpenID标识。
步骤 203、 OP-B向所述群组所在网站如 SNS-C等网站请求获取群组信 息, 群组信息中包括用户 b作为成员的群组列表。 并且 SNS-C对群组列表 等信息进行签名, 以保证这些信息不会被 OP-B篡改。 如果用户 b除了作为 SNS-C上群组的成员外, 还是其他网站群组的成员, 则 OP-B也逐一从这些 网站获得签名过的用户 b的群组信息。
由于 OP-B根据群组事件通知获得的信息, 只能获知成员中包含用户 b 的群组在哪些网站, 但并不知道具体的群组标识, 而应用网站则需要具体的 群组标识才能进行授权访问资源, 因此 OP-B要向这些网站请求获得具体的 群组标识。 具体的请求可以使用 HTTP POST等消息, 请求消息中可以包括 字段:
member— id, 其值为一个 OpenID标识, 此消息中表示成员的身份标识。 接收该消息的网站应在响应消息中返回本网站中该成员所在群组的信息。
响应消息中包括群组列表以及签名信息字段。
member— id, 其值为一个 OpenID标识, 此消息中表示成员的身份标识。 group— list, 其值为群组标识列表, 用户为这些群组的成员。
response— nonce, 随机数, 必须包含时间戳, 还可以包含额外的字符等。 sign— type, 签名算法的类型, 如 PKCS ( The Public-Key Cryptography Standards ) 等。 应用网站服务器向 OP-B请求获得用户 b作为成员的群组的 信息时, 可以带上自己所支持的签名算法类型, 然后在 OP-B的请求中转发 给 SNS-C, SNS-C使用这些应用网站服务器所支持签名算法类型。
signed, 要进行签名的字段列表, 可以包含 member— id, group— list 和 response— nonce等字段。
sig, 使用 sign— type中指示的算法对 signed中包含的字段进行签名后的 数据。
群组列表以及签名等字段共同构成了成员身份验证结果,也可以称为群 组验证信息。
步骤 204、 OP-B向应用网站服务器返回用户 b的群组信息。 群组信息 包括成员中包含用户 b的群组列表以及签名等信息。
步骤 205、 应用网站服务器对群组信息的签名进行验证。 具体可以使用 各网站如 SNS-C的公开密钥进行验证。 验证成功后即可确认用户 b的群组 成员身份, 即可确认用户 b为该群组列表中群组的成员。
步骤 206、 应用网站服务器向用户 b的浏笕器返回其有权限访问的资源 列表或用户名列表。
应用网站服务器可以根据资源访问授权记录中的群组标识等(如用户 a 对资源访问所授权的群组 Group-C-a ) 与从 OP-B获得的群组信息中的群组 标识(群组成员中包含用户 b )进行对比即可获得用户 b有访问权限的私人 资源列表或者这些资源所有者的用户名列表。
使用本实施例方案, 应用网站服务器不必自己去 SNS-C验证用户的群 组成员身份, 而是由 OP-B在返回群组信息时同时通过签名技术手段, 应用 网站服务器对签名进行验证就可以保证了群组信息的准确性,即提高了效率 又保证了安全性。 尤其是当 SNS-C和 OP-B为同一网站, 或同一域内的网站 时, 比其他方案的效率更高。
本发明第二实施例中, 主要描述应用网站服务器自己直接去 SNS-C等 网站验证用户的群组成员身份的方式。 参见图 3, 主要包括步骤:
步骤 301、 应用网站服务器接受用户 b使用 OpenID标识登录。
步骤 302、 应用网站服务器向 OP-B请求获得群组信息, 即成员中包含 用户 b的群组所在网站的信息。
步骤 303、 应用网站服务器再从这些群组所在网站获取成员中包含用户 b的具体群组标识。 这一步获取到的具体群组标识就是验证结果, 即确定用 户 b作为成员的群组。这种方式通常应用网站服务器与群组所在网站之间具 有信任关系, 否则应用网站服务器可能会获取用户的群组信息用于非法目 的。 如可以采用 SAML (安全性断言标记语言, Security Assertion Markup Language )协议来获取成员中包含用户 b 的具体群组标识, 并使用 HTTP POST消息承载。 将成员中包含用户 b的群组所在网站作为用户 b的属性, 应用网站服务器通过发送 HTTP POST消息请求用户 b的该属性断言即可。 返回的属性断言中可以包括用户 b的 OpenID标识, 以及多值的群组属性, 其中的群组属性举例如下:
<saml: Attribute
NameFormat=nurn:oasis:names:tc:SAML:2.0:attrname-format:urin
Name="urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE:groups">
<saml: Attribute Value xsi:type="dce:DCEValueType"
dce:FriendlyName="Group-C-a">
urn:uuid:008c6181-a288-l 0 -b6d6-004005b 13a2b
</saml: Attribute Value>
<saml: Attribute Value xsi:type="dce:DCEValueType"
dce:FriendlyName="Group-C-d">
urn:uuid:006a5a91 -a2b7- 10f9-824d-004005b 13a2b
</saml: Attribute Value>
</ saml: Attribute>
其中的群组标识采用 UUID (全局唯一标识符, Universally Unique Identifier )格式, 保证其在分布式环境中的唯一性。
步骤 304、 应用网站服务器根据这些群组标识对应的资源访问授权记录 向用户 b提供资源。
本发明第三实施例中, 如果发生添加群组成员等群组事件时, 每次都发 送群组事件通知, 并且通知中的群组信息还包括具体的群组标识, 则 OP通 过这些信息可以大致维护一个用户在各个网站上的群组分布信息,即通过群 组事件通知机制可以让 OP获知用户所在群组的情况, 即使这些群组是分布 于各个不同的网站上的。后续这些用户所在群组的信息可以提供给应用网站 来使用。
以下主要描述一下用户 b访问应用网站服务器的过程。 参见图 4, 主要 包括以下步骤:
步骤 401、 应用网站服务器接受用户 b使用 OpenID标识登录。
步骤 402、 应用网站服务器从 OP-B获得包含成员用户 b的群组信息, 如群组标识等。 如应用网站服务器可以通过 OpenlD 的属性交换 ( OpenlD Attribute Exchange ) 方法向 OP-B请求获取包含成员用户 b的群组信息。 在应用网站 服务器通过 OpenlD的属性交换方法获得的响应消息中包含的群组标识属性 信息可以包括:
openid.ax.value.group_as_member. l=Group-C-a.SNS-C.com
openid.ax.value.group_as_member.2=Group-E-m.SNS-E.com
由此应用网站服务器可以根据上述群组标识获知用户 b为 SNS-C上的 群组 Group-C-a的成员, 以及为其他 SNS-E上的群组 Group-E-m的成员等。
除了可以通过 OpenlD的属性交换方法从 OP处获取用户拥有的群组信 息或作为成员的群组信息外, 另外一种方法是可以通过 OAuth协议实现。 具体的将用户的群组信息作为一种受保护资源 ( Protected Resource ) , 应用 网站服务器作为消费方(Consumer ) , 存储有群组信息的 OP作为服务提供 服务器 ( Service Provider ) , 应用网站服务器通过 OAuth协议流程从 OP那 里获得用户的群组信息。
本实施例中应用网站服务器可能包含不属于任何私人用户的资源,或者 某个用户授权对所有人都公开的资源, 这些资源可以称为公共资源。 而属于 某个私人用户, 并且需要经授权才能访问的资源称为私人资源。 用户可以对 群组或个人用户进行资源访问授权的设置。用户除了可以对自己拥有的群组 进行授权外, 甚至可以对其他所信任的用户拥有的群组进行授权, 只要应用 授权设置记录即可。
应用网站服务器可以向用户 b 返回其有访问权限的私人资源的所有者 的用户名, 或者向用户 b返回其有访问权限的私人资源链接列表。 本实施例 中主要对返回用户名的方式进行描述。 用户 b在登录应用网站后, 向其显示 一些用户名,并且根据群组授权设置这些用户的某些资源是用户 b可以有权 限访问的, 通过这种方式可以让用户 b发现更多可访问的资源, 提高用户体 验。 步骤 403、 应用网站服务器返回用户 b有访问权限的私人资源的所有者 的用户名链接。
应用网站服务器根据授权设置记录中的群组标识等(如用户 a授权的群 组 Group-C-a )与从 OP-B获得的群组标识(群组成员中包含用户 b )进行检 索对比即可获得用户 b 有访问权限的私人资源的所有者的用户名 (如用户 a ) 。 用户 b的浏笕器上显示返回的用户名链接, 通过该链接可以访问该用 户的资源列表。
一般应用网站服务器不必一次性将用户 b 有访问权限的私人资源的所 有者的用户名全部返回, 因为有时数量会比较多, 可以按资源更新时间等首 次只返回部分用户名即可,这些返回的用户名的私人资源中允许用户 b访问 的那些资源近期有过更新, 如增加了新的照片, 位置信息发生了变化等。 而 对于那些长期没有更新, 或者在用户 b上次访问过后没有更新的, 可以在用 户 b后续的请求之后再返回。
步骤 404、 应用网站服务器接到用户 b通过用户名链接获得资源列表的 请求。
步骤 405、 应用网站服务器验证用户 b的群组成员身份。 在用户 b点击 此链接请求显示资源所有者如用户 a的资源列表时,应用网站服务器对用户 b进行群组成员身份验证, 验证成功之后再显示用户 b有权限访问的用户 a 的资源列表。
具体的, 应用网站服务器首先根据用户 a 的资源授权设置记录以及从 OP获得的用户 b的群组信息, 得出用户 a授权的并且成员中包含用户 b的 群组, 然后向这些群组所在的网站服务器请求对用户 b 的成员身份进行验 证。如向群组 Group-C-a所在的网站 SNS-C请求进行成员身份验证, 即请求 验证用户 b是否为群组 Group-C-a的成员。
如果应用网站服务器检测到用户 a除了群组 Group-C-a外还有其他的群 组中也包含成员用户 b, 而且用户 a也对这些群组在应用网站服务器进行了 资源访问授权的设置, 这些群组有可能与 Group-C-a不在同一个网站中, 即 不在 SNS-C 中, 则应用网站服务器还要向其他网站进行成员身份验证。 应 用网站服务器可以对用户 b在这些群组的成员身份进行逐一验证,然后将验 证通过的群组对应的有访问权限的资源的并集作为用户 b 可以访问的资源 列表。 应用网站服务器可以并行的向这些群组的网站发送验证请求。
如果在应用网站服务器中用户 a除了对 Group-C-a等群组外还单独对用 户 b进行了资源授权, 则还要把这些资源也计入上述的并集中。
应用网站服务器可以使用安全的 HTTPS消息向网站 SNS-C发送验证请 求。如果应用网站服务器得到的群组信息中包含有群组所在网站的验证服务 地址, 则可以直接向该验证服务地址发送验证请求消息, 消息中包含群组标 识和成员身份标识。
应用网站服务器也可以根据得到的群组信息中的群组标识 (如 XRI或 URL格式的标识) , 执行自动发现, 如对于 URL格式的群组标识, 可以尝 试采用 Yadis协议,应用网站服务器获得群组所在网站 SNS-C提供的验证服 务地址,然后向该验证服务地址发送验证请求消息即可。如可以采用 HTTPS 的 POST消息发送验证请求, 在返回的响应中携带验证结果。
步骤 406、 应用网站服务器向用户 b返回其有访问权限的用户 a的资源 列表或拒绝提供资源列表。 成员身份验证成功后, 用户 b再访问资源列表中 具体的资源时, 就可以不必再进行成员身份验证了。
通过群组所在网站如 SNS-C等进行群组身份验证的好处是防止 OP-B伪 造用户 b在群组 Group-C-a中的成员身份。 而且群组通知机制并不能保证群 组所在网站如 SNS-C上的群组信息能实时更新到 OP-B上, 因此 OP-B上的 群组信息数据可能是不准确的。 因此有必要到群组所在的网站如 SNS-C等 请求进行群组成员身份验证, 而不是应用网站服务器直接信任和使用从 OP-B上得到的用户 b的群组信息。
本发明第四实施例主要描述在用户 b登录应用网站服务器后,应用网站 服务器向用户 b返回其有访问权限的私人资源链接列表的方式。这种方式与 返回用户名的方式差不多, 但是用户可以直接看到一些私人资源链接列表。 另外本实施例还采用在用户 b登录后就进行成员身份验证的方式,增强了安 全性。 参见图 5, 主要包括步骤:
步骤 501、 应用网站服务器接受用户 b使用 OpenID标识登录。
步骤 502、 应用网站服务器从 OP-B获得用户 b作为成员的群组信息, 如群组标识。 为了提高后续成员身份验证的效率, 应用网站服务器可以将授 权设置中不存在的群组剔除出去, 即如果没有任何资源对某个群组授权过, 则应用网站服务器不必去验证用户 b在这个群组中的成员身份。应用网站服 务器确定出在资源授权设置中存在的并且成员中包含用户 b的群组标识。
步骤 503、 应用网站服务器对用户 b的群组成员身份进行验证。 可以对 上述确定出的群组进行群组成员身份验证。这些确定出的群组可能位于不同 的网站中, 则要逐一进行验证请求。
如果用户 a对一个资源同时对除 Group-C-a外的其他群组也进行了访问 授权, 并且用户 b 也是其中一个群组如 Group-D-a 的成员。 即用户 b 为 Group-C-a的成员, 同时也是另外一个群组如 Group-D-a的成员, 则应用网 站服务器对任何一个群组验证成功后, 都可以允许用户 b访问该资源。 如应 用网站服务器验证用户 b为 Group-C-a的成员时失败了, 但成功验证了用户 b为 Group-D-a的成员, 则仍允许用户 b访问该资源。
步骤 504、 应用网站服务器向用户 b返回其有访问权限的私人资源链接 列表。 用户 b可以通过私人资源链接访问资源, 访问这些资源时就不必再进 行群组成员身份验证了。
一般应用网站服务器不必在首次将用户 b 有权限访问的私人资源链接 全部返回, 因为可能数量会比较多, 可以按资源更新时间等返回部分私人资 源链接列表。还可以只返回最近一定时间内,如一周内更新的私人资源链接。
除了通过 OpenID方式登录外, 用户也可以采用单点登录( SSO, Single Sign-On ) 。 通常由一个网站作为身份认证服务器, 用户在登录时, 都需要 到该身份认证服务器进行认证, 当认证通过后, 就可以访问所有相互信任的 网站了, 如 SNS 网站和应用网站等。 身份认证服务器可以集中存储一个相 互信任的网站体系内的群组信息, 身份认证服务器相当与上述实施例中的 OpenlD提供方, 不同的是 OpenlD提供方是分布式存储用户的群组信息。用 户在任何一个网站单点登录后, 网站可以直接确定身份认证服务器, 不必象 OpenlD方式要根据用户身份标识确定 OpenlD提供方。 其余的处理基本相 同, 此处不再赘述。
本发明实施例五提供的一种应用网站服务器 10如图 6所示, 包括资源 数据提供单元 101, 资源访问授权设置单元 103, 登录单元 105, 以及分别 与上述单元相连的 APP (应用网站)处理单元。 资源数据提供单元 101, 用 于存储该 APP用户上载的各种资源数据, 如照片、 视频、 网址收藏、 评论、 日志、 呈现信息或位置信息等数据。 资源访问授权设置单元 103, 用于存储 资源提供用户设置的资源访问授权记录,该资源访问授权记录提供用户 a所 提供的被授权群组的标识与资源之间的对应关系, 例如用户 a 对群组 Group-C-a的授权数据, 如允许群组 Group-C-a的成员访问用户 a在应用网 站服务器中的资源数据。 登录单元 105, 用于接收用户通过浏笕器使用开放 身份标识 OpenlD的登录, 以验证用户身份。 APP处理单元 107用于从登录 单元 105获得用户的 OpenlD,并向该 OpenlD的提供服务器获得该用户的群 组信息, 根据该群组信息验证所述用户的群组成员身份, 根据验证结果及资 源访问授权设置单元 103中的资源访问授权记录向所属用户提供资源。
当该应用网站服务器 10在实施本发明实施例一所提供的方法时, 结合 图 2, APP处理单元 107通过验证 OpenlD提供服务器 OP-B返回的群组信 息的签名, 实现对用户的群组成员身份的验证; 当该应用网站服务器 10在 实施本发明实施例二所提供的方法时, 结合图 3, APP处理单元 107通过从 社交网站服务器 SNS-C获得用户的群组信息, 同时验证了用户的群组成员 身份; 当该应用网站服务器 10在实施本发明实施例三、 四所提供的方法时, 结合图 4和图 5, APP处理单元 107获得用户的群组成员信息后向社交网站 服务器 SNS-C验证用户的群组成员身份。 由此应用网站服务器可以充分利 用社交网站中的社交数据如群组, 来对用户的资源进行授权, 大大方便了用 户进行资源共享。
本发明实施例六提供的一种社交网站服务器(SNS ) 20如图 7所示, 包 括群组信息提供单元 201和 SNS处理单元 203。 群组信息提供单元 201, 用 于存储用户的群组信息, 群组信息中通常对应有一个群组标识和成员列表, 该群组标识一般在整个分布式社会化网络中是唯一的,这可以通过在群组标 识中包含群组所在网站的域名等方式来保证。群组信息中还可以有群组名称 和描述等信息。 成员列表中一般包括用户的 OpenID标识及其他信息。 SNS 处理单元 203, 用于当接收到在群组中添加、 删除成员的请求时, 相应更新 群组信息提供单元 201存储的用户的群组信息,如在群组对应的成员列表中 增加或删除 OpenID标识; 用于当接收到查询用户的群组信息请求时, 从群 组信息提供单元 201 获取对应用户的群组信息, 如用户所在群组的群组标 识; 或者, 用于当接收到验证用户的成员身份请求时, 根据群组信息提供单 元 201存储的群组标识和成员列表的对应关系, 验证用户的成员身份。 另外 社交网站处理单元还可以首先对请求中的用户身份签名进行验证,验证通过 后才提供用户的群组信息。 这样进一步增强了安全性, 防止其他用户或第三 方冒充用户从社交网站获得用户是否属于某个群组的信息。一般用户在登录 应用网站时如采用 OpenID方式登录,可以在登录成功后生成一个身份签名, 然后在获取群组信息请求中携带用户的身份签名。 由此社交网站可以向应用 网站或者 OpenID提供服务器提供用户的群组信息, 以用于用户群组身份的 验证。
本发明实施例七提供的一种社交网站服务器(SNS ) 22如图 8所示, 包 括群组信息提供单元 221, 群组事件通知单元 225, SNS处理单元 223和签 名单元 227。 其中, 群组信息提供单元 221和 SNS处理单元 223完全具备实 施六中所涉及的功能。此外,当发生群组增加或删除成员等群组事件时, SNS 处理单元 223触发群组事件通知单元 225通知该成员的 OpenID提供服务器。 该群组事件通知中可以包括成员的 OpenID标识, 群组标识和事件类型等群 组事件信息。 在本发明的其他实施例中, 群组事件通知中可以不包含具体的 群组标识。 这样由于不必精确的让 OpenID提供服务器获知用户是哪个具体 群组的成员,则社交网站服务器也可以不必每次增加或删除用户成员时都通 知 OpenID提供服务器。 仅在用户首次加入社交网站服务器所有群组时, 或 用户从社交网站服务器所有群组删除时, 通知 OpenID提供服务器。 签名单 元 227用于在 SNS处理单元提供用户的群组信息时, 对该群组信息进行签 名, 以免群组信息在传输的中被篡改, 以及通过签名方式验证群组信息。 由 此社交网站服务器可以提供安全可靠的经过签名的群组信息,使分布式系统 的安全性得到了保证。
本发明实施例八提供的一种开放身份标识(OpenID )提供服务器 30如 图 9所示, 包括: 身份标识认证单元 301、 群组信息存储单元 303, 以及分 别与上述单元连接的群组信息提供单元 305。 其中, 身份标识认证单元 301 用于通过接收到的用户 OpenID验证用户的身份。 群组信息存储单元 303, 用于存储用户的群组信息以及各种 SNS数据, 例如: 用户的电子邮件、 生 日、 性别、 联系人、 群组、 群组对应的网站、 用户所在的群组标识等。 如实 施例一, 群组信息提供单元 305接收到 SNS-C发送的群组事件通知时, 将 根据该群组事件通知更新群组信息存储单元 303 存储的对应用户的群组信 息。 其中, 群组事件通过包括以下字段: group— event— type群组事件类型、 member— id为用户 OpenID标识, 可选地, 还可以包括 group— host群组所在 网站服务器地址。 当 OP30执行本发明实施例一时, 群组信息提供单元 305 还用于当接收到获取包含用户 b的群组信息的请求时,向已存储的群组所在 的网站地址对应的社交网站服务器 SNS-C请求获取用户 b的群组信息。 当 OP30执行本发明实施例二时, 群组信息提供单元 305还用于当接收到获得 用户 b的群组所在的网站的信息, 提供用户 b的群组所在的网站信息。
进一步地, 结合图 10, 本发明实施例九提供一种 OpenlD提供服务器 32, 其中身份标识认证单元 321的功能与实施例八相同, 此处不再赘述。 此 外, 在本实施例中, OP32还包括与群组信息提供单元 325相连的群组事件 确认单元 327, 用于当群组信息提供单元 325接收到群组事件通知后, 根据 所述群组事件通知更新群组信息存储单元 323对应用户的群组信息。对应成 员下次登录 OP时, 群组事件确认单元 327向群组成员显示所接收到的相关 通知, 并提示该群组成员确认。 如果用户不信任这个网站如 SNS-C, 或者认 为网站 SNS-C可能是个恶意的 (如用来散发广告信息, 或恶意跟踪用户活 动等) , 则可以拒绝进行确认操作。 群组成员进行确认操作后, 群组成员的 OP对该网站 SNS-C设置确认标志。 如果后续用户不再信任该网站 SNS-C, 可以将确认标志修改为拒绝标志。 用户的 OpenlD提供服务器仅向经过用户 确认的群组所在网站请求获得群组信息。
图 11所示为本发明实施例十提供的一种用户访问应用网站服务器资源 的系统架构图。 其中应用网站服务器 10, 社交网站服务器 20和 OpenlD提 供服务器 30在实施例五、 实施例六及实施例八中均以描述, 此处不再赞述。 其中, APP处理单元 107、 SNS处理单元 203及群组信息提供单元 305 两两 相连, 以实现应用网站服务器 10、 社交网站服务器 20和 OpenlD提供服务 器 30之间的交互。 该系统架构主要用以实现本发明实施例一及实施例二所 提供的方法。
图 12所示为本发明实施例十一提供的一种用户访问应用网站服务器资 源的系统架构图。 其中应用网站服务器 10, 社交网站服务器 22和 OpenlD 提供服务器 32在实施例五、 实施例七及实施例九中均以描述, 此处不再赘 述。其中, APP处理单元 107、 SNS处理单元 223及群组信息提供单元 325 两 两相连, 以实现应用网站服务器 10、 社交网站服务器 22和 OpenlD提供服 务器 32之间的交互。 该系统架构主要用以实现本发明实施例三及实施例四 所提供的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步 骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算 机可读存储介质中, 该程序在运行时, 执行上述实施例方法中的全部或部分 步骤。 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求 书
1、 一种向访问用户提供资源的方法, 其特征在于, 包括:
根据访问用户的身份标识到相应的服务器获得所述用户的群组信息; 根据所述群组信息^ i正所述用户的群组成员身份;
根据验证结果向所述用户提供资源。
2、 如权利要求 1所述的方法, 其特征在于, 接受所述用户通过浏笕器使用 开放身份标识登录, 根据所述用户的开放身份标识确定相应的开放身份标识提 供服务器;
从用户的开放身份标识提供服务器获得所述用户的群组信息;
根据所述群组信息^ i正所述用户的群组成员身份;
根据验证结果向所述用户提供资源。
3、 如权利要求 2所述的方法, 其特征在于, 所述用户的开放身份标识提供 服务器存储有用户作为成员的群组所在网站的信息, 所述从用户的开放身份标 识提供服务器获得所述用户的群组信息的步骤具体为:
向所述用户的开放身份标识提供服务器请求获得用户作为成员的群组信 息;
在所述用户的开放身份标识提供服务器向所述用户作为成员的群组所在网 站获得签名过的群组信息后, 接收所述用户的开放身份标识提供服务器转发的 所述签名过的群组信息。
4、 如权利要求 3所述的方法, 其特征在于, 在用户首次被加入到网站 的群组或者完全从网站的群组删除时,该网站向所述用户的开放身份标识提 供服务器发送群组事件通知;
所述用户的开放身份标识提供服务器根据所述群组事件通知获知用户 作为成员的群组所在网站的信息。
5、 如权利要求 4所述的方法, 其特征在于, 在所述用户的开放身份标 识提供服务器接收到群组事件通知后, 向用户提示进行确认; 所述用户的开放身份标识提供服务器仅向经过用户确认的群组所在网 站请求获得签名过的群组信息。
6、 如权利要求 3所述的方法, 其特征在于, 从所述用户的开放身份标 识提供服务器获得所述用户的群组信息中包括用户的开放身份标识、群组标 识列表、 包含时间戳的随机数以及签名相关的信息。
7、 如权利要求 2所述的方法, 其特征在于, 所述的从用户的开放身份 标识提供服务器获得所述用户的群组信息为成员中包含用户的群组所在网 站的信息, 所述根据所述群组信息验证所述用户的群组成员身份具体为: 从 所述群组所在网站获取群组成员中包含用户的具体群组标识。
8、 如权利要求 7所述的方法, 其特征在于, 通过 HTTP POST消息承 载的安全性断言标记语言协议从所述群组所在网站获取群组成员中包含所 述用户的具体群组标识,在所述消息体中的群组属性断言中包含所述的具体 群组标识。
9、 如权利要求 2所述的方法, 其特征在于, 用户的开放身份标识提供 服务器存储有用户作为群组成员的群组标识,所述从用户的开放身份标识提 供服务器获得的所述用户的群组信息中包含群组标识及其对应的网站信息; 根据所述从用户的开放身份标识提供服务器获得的群组标识来确定所 述用户有访问权限的资源的所有者的用户名链接, 并返回给用户浏笕器; 接收用户通过一个用户名链接获得资源列表的请求;
根据所述群组信息向群组所在网站请求验证所述用户的群组成员身份; 在验证通过后向用户返回所述用户名链接对应的资源列表。
10、 如权利要求 9所述的方法, 其特征在于, 根据所述群组信息向群组 所在网站请求验证所述用户的群组成员身份的步骤具体为:根据资源授权设 置记录以及从用户的开放身份标识提供服务器获得的用户的群组标识信息, 得出所述用户名链接对应用户所授权的并且群组成员中包含所述用户的群 组标识; 才艮据群组标识确定群组所在网站;
1 1、 如权利要求 10所述的方法, 其特征在于, 如果所确定的群组所在 网站多于一个, 则并发向各群组所在网站请求群组成员身份验证; 所述用户可以访问的资源列表, 并返回给用户浏笕器。
12、 如权利要求 10所述的方法, 其特征在于, 根据得到的群组信息中 的群组标识, 依据非集中身份验证互用系统协议执行自动发现, 获得群组所 在网站提供的群组成员身份验证服务地址,然后向该验证服务地址请求群组 成员身份验证。
13、 如权利要求 1至 12任一项所述的方法, 其特征在于, 所述根据验 证结果向所述用户提供资源具体为:根据资源访问授权记录中的群组标识与 从用户的开放身份标识提供服务器获得的群组信息中的群组标识进行对比, 资源列表或用户名列表返回给用户。
14、 如权利要求 1至 12任一项所述的方法, 其特征在于, 通过开放身 器获得所述用户的群组信息。
15、 如权利要求 1至 12任一项所述的方法, 其特征在于, 按资源更新 时间提供部分资源链接列表或用户名链接列表。
16、 如权利要求 1至 12任一项所述的方法, 其特征在于, 所述的资源 包括照片、 视频、 日志、 评论、 网址收藏、 呈现信息或位置信息。
17、 如权利要求 1所述的方法, 其特征在于, 接受所述用户通过单点登录 方式登录, 从用户的身份认证服务器获得所述用户的群组信息;
根据所述群组信息^ i正所述用户的群组成员身份;
根据验证结果向所述用户提供资源。
18、 一种应用网站服务器, 其特征在于, 包括:
资源数据提供单元, 用于存储资源;
资源访问授权设置单元, 用于存储资源访问授权记录, 所述资源访问授 权记录存储群组标识与资源的对应关系;
登录单元, 用于接收用户的登录信息, 其中包括用户的身份标识; 应用网站处理单元,用于根据所述用户的身份标识获得所述用户的群组 信息, 所述群组信息用于群组身份验证, 根据验证结果向用户提供资源。
19、 如权利要求 18所述的应用网站服务器, 其特征在于, 所述的登录 单元接收用户的登录信息中包括用户的开放身份标识; 身份标识提供服务器获得所述用户的群组信息,根据所述群组信息验证所述 用户的群组成员身份, 根据验证结果及所述资源访问授权记录, 向用户提供 所述资源。
20、 一种社交网站服务器, 其特征在于, 包括:
群组信息提供单元, 用于存储用户的群组信息;
社交网站处理单元, 用于当接收到验证用户的成员身份请求时, 根据群 组信息提供单元存储的群组信息验证用户的成员身份。
21、 如权利要求 20所述的社交网站服务器, 其特征在于, 所述社交网 站处理单元还用于当接收到在群组中添加、 删除成员请求时, 更新群组信息 提供单元存储的所述用户的群组信息; 当接收到查询用户的群组信息请求 时, 从群组信息提供单元获取对应用户的群组信息并返回给请求方。
22、 如权利要求 21所述的社交网站服务器, 其特征在于, 进一步包括: 群组事件通知单元, 用于当接收到所述在群组中添加、 删除成员请求时, 社 交网站处理单元触发群组事件通知单元向所述成员的开放身份标识提供服 务器发送群组事件通知。
23、 如权利要求 21所述的社交网站服务器, 其特征在于, 进一步包括: 群组事件通知单元,仅当所述用户首次被加入到群组或者彻底从群组中删除 时, 向所述用户的开放身份标识提供服务器发送群组事件通知。
24、 如权利要求 20所述的社交网站服务器, 其特征在于, 进一步包括: 签名单元, 用于在所述社交网站处理单元向请求方提供用户的群组信息时, 对所述群组信息进行签名。
25、 如权利要求 20所述的社交网站服务器, 其特征在于, 所述的社交 网站处理单元首先对请求中的用户身份签名进行验证,验证通过后才提供用 户的群组信息。
26、 一种开放身份标识提供服务器, 其特征在于, 包括:
群组信息存储单元, 用于存储用户的群组信息;
群组信息提供单元, 用于当接收到获取所述用户的群组信息的请求时, 返回所述群组信息存储单元所存储的所述用户的群组信息。
27、 如权利要求 26所述的开放身份标识提供服务器, 其特征在于, 所 述的群组信息提供单元在接收到社交网站发送的群组事件通知时,根据所述 群组事件通知更新群组信息存储单元存储的对应用户的群组信息。
28、 如权利要求 26所述的开放身份标识提供服务器, 其特征在于, 还 包括:
群组事件确认单元, 用于接收到所述群组事件通知后, 向用户提示进行 确认,所述开放身份标识提供服务器仅向经过用户确认的群组所在网站请求 群组信息。
29、 如权利要求 26所述的开放身份标识提供服务器, 其特征在于, 所 述的群组信息存储单元中的群组信息包含有用户标识对应群组所在的服务 器地址;
所述的群组信息提供单元在接收到获取所述用户的群组信息的请求时, 地址。
30、 如权利要求 26所述的开放身份标识提供服务器, 其特征在于, 所 述的群组信息存储单元中的群组信息包含有用户标识对应群组所在的服务 器地址;
所述的群组信息提供单元根据应用网站服务器发送的身份认证请求中 的用户标识, 确定所述用户标识对应群组所在的服务器地址, 向群组所在的 服务器获取群组验证结果, 并提供给应用网站服务器。
31、 一种社会化网络中访问资源的系统, 其特征在于, 包括: 应用网站服务器, 用于接受用户通过浏笕器使用开放身份标识登录, 从 用户的开放身份标识提供服务器获得所述用户的群组信息,根据所述群组信 息验证所述用户的群组成员身份, 根据验证结果向所述用户提供资源; 开放身份标识提供服务器, 用于存储的群组信息, 其中包括用户作为成 员的群组所在网站的信息, 接收应用网站服务器获取群组信息的请求, 向所 述用户作为成员的群组所在网站获得签名过的群组信息,然后将所述签名过 的群组信息返回给应用网站服务器;
社交网站服务器, 用于存储用户的群组, 在增加或删除成员时, 所述社 交网站服务器向用户的开放身份标识提供服务器发送群组事件通知。
PCT/CN2009/076141 2008-12-31 2009-12-28 一种向访问用户提供资源的方法、服务器和系统 WO2010075761A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP09836048.0A EP2383946B1 (en) 2008-12-31 2009-12-28 Method, server and system for providing resource for an access user

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2008102422106A CN101771677B (zh) 2008-12-31 2008-12-31 一种向访问用户提供资源的方法、服务器和系统
CN200810242210.6 2008-12-31

Publications (1)

Publication Number Publication Date
WO2010075761A1 true WO2010075761A1 (zh) 2010-07-08

Family

ID=42309810

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/076141 WO2010075761A1 (zh) 2008-12-31 2009-12-28 一种向访问用户提供资源的方法、服务器和系统

Country Status (3)

Country Link
EP (1) EP2383946B1 (zh)
CN (1) CN101771677B (zh)
WO (1) WO2010075761A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001782A (zh) * 2011-09-09 2013-03-27 中兴通讯股份有限公司 一种社交网络的管理方法、系统和服务器

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387092B (zh) * 2010-09-06 2014-09-03 腾讯科技(深圳)有限公司 管理消息的方法和装置
CN101950308A (zh) * 2010-09-30 2011-01-19 深圳市戴文科技有限公司 一种网络评论信息的显示方法、装置、服务器及系统
US9483751B2 (en) 2011-02-18 2016-11-01 Google Inc. Label privileges
CN103415864A (zh) 2011-04-21 2013-11-27 英派尔科技开发有限公司 使用移动装置的方位社交网络
CN102361479A (zh) * 2011-06-24 2012-02-22 上海合合信息科技发展有限公司 指定信息获取方法及系统
CN102281140B (zh) * 2011-06-24 2014-04-16 上海合合信息科技发展有限公司 指定信息获取方法及系统
CN102938757B (zh) * 2011-08-15 2017-12-08 中兴通讯股份有限公司 共享网络中用户数据的方法和身份提供服务器
US20130106829A1 (en) * 2011-11-02 2013-05-02 Microsoft Corporation Selective roaming lists
US9210164B2 (en) * 2012-01-08 2015-12-08 International Business Machines Corporation Confidential information access via social networking web site
US8904013B2 (en) * 2012-01-26 2014-12-02 Facebook, Inc. Social hotspot
CN103259766B (zh) * 2012-02-17 2016-03-16 腾讯科技(深圳)有限公司 一种群组信息的服务管理方法和系统
CN104169935B (zh) * 2012-03-28 2017-10-31 索尼公司 信息处理装置、信息处理系统、信息处理方法
CN102664926B (zh) * 2012-03-29 2015-07-01 北京奇虎科技有限公司 用户信息共享方法及系统
KR20130143263A (ko) * 2012-06-21 2013-12-31 에스케이플래닛 주식회사 트러스티드 플랫폼 기반의 개방형 아이디 인증 방법, 이를 위한 장치 및 시스템
WO2014059604A1 (zh) * 2012-10-16 2014-04-24 华为技术有限公司 一种资源安全访问方法及装置
US9253433B2 (en) * 2012-11-27 2016-02-02 International Business Machines Corporation Method and apparatus for tagging media with identity of creator or scene
CN103019816A (zh) * 2012-11-29 2013-04-03 北京网秦天下科技有限公司 应用程序管理方法和服务器
CN104022875B (zh) * 2013-03-01 2017-09-01 中兴通讯股份有限公司 一种双向授权系统、客户端及方法
CN104065618B (zh) * 2013-03-20 2017-11-14 腾讯科技(深圳)有限公司 一种控制用户权限的方法,终端及服务器
CN103309987B (zh) * 2013-06-18 2016-05-25 阔地教育科技有限公司 一种网页访问处理的实现方法及系统
CN103605480B (zh) * 2013-10-29 2016-08-17 新浪网技术(中国)有限公司 Web服务器及其磁盘资源访问控制方法
CN104869142B (zh) * 2014-02-26 2021-08-06 苏州海博智能系统有限公司 一种基于社交平台的链接分享方法、系统及装置
CN105022938A (zh) * 2014-04-17 2015-11-04 苏州海博智能系统有限公司 多维指针信息平台
WO2015158288A1 (zh) * 2014-04-17 2015-10-22 苏州海博智能系统有限公司 多维信息指针平台及其数据访问方法
CN103973690B (zh) * 2014-05-09 2018-04-24 北京智谷睿拓技术服务有限公司 资源访问方法及资源访问装置
CN103986644B (zh) * 2014-05-16 2017-04-05 北京奇虎科技有限公司 基于浏览器的网站互动的方法及装置
CN103986643B (zh) * 2014-05-16 2016-10-12 北京奇虎科技有限公司 基于浏览器的访问网站对应的群组的方法及装置
US20150358332A1 (en) * 2014-06-09 2015-12-10 Qualcomm Incorporated Determining trust levels on a device receiving authorization
CN105227893A (zh) * 2014-06-27 2016-01-06 中兴通讯股份有限公司 基于在线会议的终端呼叫入会方法和系统
CN104135386A (zh) * 2014-08-11 2014-11-05 联想(北京)有限公司 资源的扩展方法及控制方法
CN110460978B (zh) * 2014-11-04 2021-12-14 华为技术有限公司 一种资源访问的方法和装置
CN104394174B (zh) * 2014-12-15 2017-06-09 邱红涛 社交网络系统的登录方法及其登录系统
CN106330813A (zh) * 2015-06-16 2017-01-11 华为技术有限公司 一种处理授权的方法、设备和系统
CN105187417B (zh) * 2015-08-25 2018-10-02 北京京东尚科信息技术有限公司 权限获取方法和装置
CN106953831B (zh) * 2016-01-06 2020-12-01 阿里巴巴集团控股有限公司 一种用户资源的授权方法、装置及系统
CN105608939A (zh) * 2016-01-20 2016-05-25 深圳市巨龙科教高技术股份有限公司 一种教学资源文件获取方法及装置和互动教学系统
CN105871838B (zh) * 2016-03-30 2019-03-01 努比亚技术有限公司 一种第三方账号的登录控制方法及用户中心平台
CN106533693B (zh) * 2016-11-03 2021-01-19 中车青岛四方机车车辆股份有限公司 轨道车辆监控检修系统的接入方法和装置
US10362612B2 (en) * 2017-03-06 2019-07-23 Citrix Systems, Inc. Virtual private networking based on peer-to-peer communication
US10630668B2 (en) * 2017-04-28 2020-04-21 Amazon Technologies, Inc. Single sign-on registration
US10623234B2 (en) * 2017-06-08 2020-04-14 Microsoft Technology Licensing, Llc Managing alerts regarding additions to user groups
CN107832009B (zh) * 2017-10-30 2020-10-23 厦门万匹思网络科技有限公司 一种数据分配方法、设备和计算机存储介质
CN110198323A (zh) * 2018-02-24 2019-09-03 杨嶷 一种基于实体类信息门户的信息连接方法与装置
CN108400989B (zh) * 2018-03-01 2021-07-30 恒宝股份有限公司 一种共享资源身份认证的安全认证设备、方法及系统
CN109271766B (zh) * 2018-10-15 2021-06-25 意盛(北京)科技有限责任公司 一种基于程序交互的身份验证方法与系统
CN110297971B (zh) * 2019-05-30 2022-09-20 百度在线网络技术(北京)有限公司 个性化资源检索方法、装置、设备及计算机可读存储介质
CN110730085B (zh) * 2019-10-21 2021-11-02 腾讯科技(深圳)有限公司 一种用户组管理方法、装置、系统及存储介质和相关设备
CN113742711A (zh) * 2020-10-20 2021-12-03 北京沃东天骏信息技术有限公司 容器访问的方法和装置
CN116032661B (zh) * 2023-03-23 2023-08-08 南京邮电大学 一种并行可监管的身份隐私保护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061730A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Multipersona creation and management
CN101039284A (zh) * 2006-03-16 2007-09-19 腾讯科技(深圳)有限公司 一种向群组发送即时消息的方法
CN101103354A (zh) * 2004-11-29 2008-01-09 诺基亚公司 基于对共享式数据的访问权限来提供服务
CN101159714A (zh) * 2007-11-30 2008-04-09 腾讯科技(深圳)有限公司 一种即时通讯方法、装置与群组服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076795B2 (en) * 2002-01-11 2006-07-11 International Business Machiness Corporation System and method for granting access to resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101103354A (zh) * 2004-11-29 2008-01-09 诺基亚公司 基于对共享式数据的访问权限来提供服务
US20070061730A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Multipersona creation and management
CN101039284A (zh) * 2006-03-16 2007-09-19 腾讯科技(深圳)有限公司 一种向群组发送即时消息的方法
CN101159714A (zh) * 2007-11-30 2008-04-09 腾讯科技(深圳)有限公司 一种即时通讯方法、装置与群组服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001782A (zh) * 2011-09-09 2013-03-27 中兴通讯股份有限公司 一种社交网络的管理方法、系统和服务器

Also Published As

Publication number Publication date
EP2383946B1 (en) 2018-06-13
CN101771677A (zh) 2010-07-07
EP2383946A1 (en) 2011-11-02
EP2383946A4 (en) 2012-04-11
CN101771677B (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
WO2010075761A1 (zh) 一种向访问用户提供资源的方法、服务器和系统
US8555078B2 (en) Relying party specifiable format for assertion provider token
US9800586B2 (en) Secure identity federation for non-federated systems
US8220035B1 (en) System and method for trusted embedded user interface for authentication
US9397988B2 (en) Secure portable store for security skins and authentication information
JP5567011B2 (ja) インターネットサービスを提供するための方法およびサービス統合プラットフォームシステム
US20130125222A1 (en) System and Method for Vetting Service Providers Within a Secure User Interface
CN109196500B (zh) 对基于云的服务的基于统一vpn和身份的认证
US8943202B2 (en) Network resource access using social networks
US10579808B2 (en) Systems and methods for generating previews of content protected by authentication protocols
US20110072502A1 (en) Method and Apparatus for Identity Verification
TW201019676A (en) Identity and authentication system using aliases
JP5239341B2 (ja) ゲートウェイ、中継方法及びプログラム
TW201141176A (en) Method and apparatus for providing trusted single sing-on access to applications and internet-based services
WO2010075798A1 (zh) 一种跨域授权的设置、鉴权方法、相关装置及系统
US8793773B2 (en) System and method for providing reputation reciprocity with anonymous identities
US11849053B2 (en) Automation of user identity using network protocol providing secure granting or revocation of secured access rights
CN103384198A (zh) 一种基于邮箱的用户身份认证服务方法和系统
US20160269382A1 (en) Secure Distribution of Non-Privileged Authentication Credentials
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
WO2022033350A1 (zh) 注册服务的方法及设备
US20060122936A1 (en) System and method for secure publication of online content
Schulz et al. d 2 Deleting Diaspora: Practical attacks for profile discovery and deletion
Baker OAuth2
Pöhn et al. New directions and challenges within identity and access management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09836048

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009836048

Country of ref document: EP