Bazaarvoice移动sdk提供了对Bazaarvoice提供的大多数核心产品的访问。必威手机版本要了解更多信息,请参阅Mobile SDK文档主页

内容

+显示 ——隐藏

本文档解释了如何使用bazaarvoice -master身份验证(“托管身份验证”)或client -master身份验证(“站点身份验证”)对作者进行身份验证。

介绍

当用户想要提交消费者生成的内容(CGC)时,我们需要验证用户是否是他们所说的那个人,并且他们同意发布他们的CGC。为了做到这一点,所有提交请求都需要一个用户身份验证字符串。根据您的配置,创建/检索UAS的方法有两种:bazaarvoice -master身份验证或client -master身份验证。

确定身份验证方法

看到如何确定身份验证配置以了解您为哪个方法配置。

按照以下步骤操作:

  1. 使用登台或生产对话API键执行以下API请求:

    https: (stg) api.bazaarvoice.com/data/submitreview.json ? apiversion = 5.4万能钥匙= {YOUR_PASS_KEY} &productid = test1
  2. 如果你发现hostedauthentication在响应中,则配置为Bazaarvoice-mastered身份验证.如果没有,那么你应该使用Client-mastered身份验证

Bazaarvoice-mastered身份验证

在这种身份验证类型中,作者在提交之前不会登录到您的站点。相反,他们通过提交作品时提供电子邮件地址来进行身份验证。用户id由Bazaarvoice身份验证系统创建,该系统被认为是用户身份验证的权威(主)源,并与电子邮件地址相关联。Bazaarvoice掌握的身份验证也称为“Bazaarvoice托管的身份验证”,因为Bazaarvoice管理用户id。

阶段1:应用程序还没有用户的UAS

如何构造托管的身份验证提交对象参数

// 'submission'是BVBaseUGCSubmission对象之一,例如,BVAnswerSubmission, BVReviewSubmission等。hostedAuthenticationEmail = "foo@bar.com"提交。hostedAuthenticationCallback = "http://www.example.com/your/authentication-service"
// 'submission'是BVBaseUGCSubmission对象之一,例如,BVAnswerSubmission, BVReviewSubmission等。hostedAuthenticationEmail = @"foo@bar.com";提交。hostedAuthenticationCallback = @"http://www.example.com/your/authentication-service";
answerSubmission <+> action <+> . hostedaumailail ("foo@bar.com") <+> .hostedAuthCallback(URL(string: http://www.example.com/your/authentication-service))

有关此步骤的详细信息,请参阅会话API认证教程
有关每个提交对象的更多信息,请参阅提交文档

何时使用

如果您还没有设法检索用户的用户身份验证字符串(UAS),请使用这些参数。此方法将向用户发送电子邮件确认BVBaseUGCSubmission它连着。该邮件将包含一个供他们点击确认的链接,该链接将由:

  1. callbackUrl你在这里提供
  2. 一个bv_authtokenBazaarvoice生成的查询参数。你将使用这个来获取无人机。例如:
    http://www.example.com/your/authentication-service?bv_authtoken=a7a4278ff33887d352fcdef30edd143f487dc881

如何检索bv_authtoken

当用户在浏览器中打开链接时,您可以设置后端来检索回调,然后发送它bv_authtoken通过带外请求、推送通知、文本消息等方式向特定用户发送,以便您的应用程序可以利用它。

如何取回无人机

一旦你有了bv_authtoken从前面的步骤,您可以发送一个BVUASSubmission它将返回一个BVUASSubmissionResponse通过成功闭合。从内部BVUASSubmissionResponseuserAuthenticationString属性包含BVSubmittedUAS对象,该对象提供authenticatedUser属性界面获取实际UAS。

var bv_authtoken: String = "…"// 'bv_authtoken'字符串值let uasSubmission: BVUASSubmission = BVUASSubmission(bvAuthToken: bvAuthToken) uasSubmission. bvAuthToken: bvAuthTokensubmit({(response: BVUASSubmissionResponse) in // uas acquisition submitted successfully!if let uas: BVSubmittedUAS = response。userAuthenticationString, let authenticatedUser: String = uas.authenticatedUser { print("This is the actual UAS string value: \(authenticatedUser)") } // You should store authenticatedUser for the logged in user to make all future requests // setting the user property for subsequent submissions. }) { (errors: [Error]) in // handle failure appropriately }
NSString * bv_authtoken = @ "…";// 'bv_authtoken' string value BVUASSubmission * uasSubmission = [[BVUASSubmission alloc] initWithBvAuthToken: bv_authtoken];[uasSubmission submit: ^ (BVUASSubmissionResponse * _Nonnull response) {// uas acquisition submitted successfully!]BVSubmittedUAS * uas = response.userAuthenticationString;If (uas &&UAS . authenticateduser) {NSLog(@ "这是实际的UAS字符串值:%@",UAS . authenticateduser);} //你应该为登录的用户存储authenticatedUser,以便将来进行所有的请求//为后续提交设置user属性。} failure: ^ (NSArray * _Nonnull errors){//适当处理失败}];
var bvAuthToken:字符串= "…"// 'bv_authtoken' string value guard let uasSubmission: BVUASSubmission = BVUASSubmission(bvAuthToken: bvAuthToken) else {return} uasSubmission. bvAuthToken: bvAuthToken。处理{(result: BVConversationsSubmissionResponse < BVUAS >) in if case let.failure(errors) = result{//处理失败适当返回}保护case let. BVUAS >。success(_, uasResponse) = result else {return} // uas获取提交成功!if let authenticatedUser = uasResponse。uas {print("这是实际的uas字符串值:\(authenticatedUser)")}} .configure(configuration) uassubmit .async()

如果我不派无人机怎么办?

所有内容仍将被提交和审核,并将显示在显示请求中。

不检索UAS并使用其他构造函数的后果是,用户将继续收到一封电子邮件,以确认每次提交。

用户不确认他们提交的内容的后果是,他们的用户资料将不会与他们提交的内容合并。如果在未来的任何时候,你的应用程序能够发送一个UAS,那么所有这些累积配置文件将被合并。

阶段2:应用程序为用户提供一个UAS

如何构造UAS身份验证提交对象参数
// 'submission'是BVBaseUGCSubmission对象之一,例如,BVAnswerSubmission, BVReviewSubmission等。User = "…"// authenticatedUser string上一步的值
// 'submission'是BVBaseUGCSubmission对象之一,例如,BVAnswerSubmission, BVReviewSubmission等。User = @"…"/ / uas。authenticatedUser上一步的字符串值
(submission <+> .uas("…"))// authenticatedUser上一步的字符串值。

有关每个提交对象的更多信息,请参阅提交文档

何时使用

如果您设法为用户检索UAS,请使用此构造函数。

Client-mastered身份验证

在这种身份验证类型中,作者必须在提交之前登录到您的系统。用户id由您的身份验证系统创建,该系统被认为是用户身份验证的权威(主)来源,并与作者的内容一起提交给Bazaarvoice。客户端主认证也称为“客户端-站点认证”,因为它依赖于站点的认证系统。

如何构造UAS身份验证提交对象参数

构造UAS身份验证提交对象参数的方法与bazaarvoice认证的最后一步的过程。

如何获得无人机

您将需要实现这一点,以便能够从公司的后端检索加密的用户身份验证字符串(UAS)。

如果你的网络团队已经实现了,你的公司可能有一个现有的端点来检索这个。如果没有,你需要跟随这些步骤