列挙型


VerificationResult


StoreKit 検証の結果を記述する型。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ tvOS 15.0+ watchOS 8.0+


@frozen
enum
VerificationResult<SignedType>




概観


StoreKit は、TransactionProduct.SubscriptionInfo.RenewalInfo、および AppTransaction の値を自動的に検証します。包み込まれた値にアクセスするには、値が検証済みか未検証かを確認します。


StoreKit から検証結果を取得するだけでなく、最大限の制御とセキュリティを実現するために、デバイス上またはあなたのサーバ上で署名された情報を自分で検証することもできます。サブスクリプション更新情報の jwsRepresentation プロパティ、取引の jwsRepresentation プロパティ、アプリ取引の jwsRepresentation プロパティで検証を実行します。


あなたのサーバで jwsRepresentation を検証するには、App Store サーバライブラリの検証関数の使用を検討してください。ライブラリは、ライブラリがサポートする各言語で、verifyAndDecodeTransaction、verifyAndDecodeAppTransaction、および verifyAndDecodeRenewalInfo 関数を提供します。詳細については、App Store サーバー ライブラリを使用して実装を簡素化する を参照してください。


jwsRepresentation 文字列は JWS Compact Serialization 形式であり、以下のように、App Store サーバー API の対応する文字列と同じです。


StoreKit 文字列App Store Server
API で同等
App Store Server
Notifications で同等
サブスクリプション更新情報の jwsRepresentationJWSRenewalInfoJWSRenewalInfo
取引用の jwsRepresentationJWSTransactionJWSTransaction

jwsRepresentation の復号されたペイロードには、deviceVerificationdeviceVerificationNonce の 2 つの追加フィールドが含まれます。デバイス上でこれらのフィールドを使用して、JWS 情報がデバイスに属していることを確認して下さい。詳細については、deviceVerificationID を参照してください。


重要

jwsRepresentation および JWSTransaction 文字列の復号されたペイロードには、通貨の ミリ単位 で指定された price または renewalPrice フィールドが含まれます。StoreKit は、price および renewalPrice の値を通貨 単位 で表します。両方の API を使用する場合は、これら 2 つの表現を混同しないように注意してください。




トピックス


検証結果の取得


case verified(SignedType)

関連した値は StoreKit の自動検証チェックに合格しました。


case unverified(SignedType, VerificationResult<SignedType>.VerificationError)

関連した値は StoreKit の自動検証チェックに失敗しました。


var payloadValue: SignedType

StoreKit が検証済みとして確認した、署名された型の検証済み値。


var unsafePayloadValue: SignedType

StoreKit が検証済みとして確認しなかった検証結果の関連値。


enum VerificationError

StoreKit JWS 検証のエラーケース。



取引用のプロパティを取得


var jwsRepresentation: String

JWS Compact Serialization 形式で、App Store によって署名された取引。


var deviceVerification: Data

取引がデバイスに属しているかどうかを検証するために使用するデバイス検証値。


var deviceVerificationNonce: UUID

デバイス検証値を計算するための UUID。


var signedDate: Date

App Store が JWS 取引に署名した日付。


var headerData: Data

JWS 取引のヘッダコンポーネント。


var payloadData: Data

JWS 取引のペイロードコンポーネント。


var signedData: Data

署名が適用される取引データ。


var signatureData: Data

JWS 取引の署名コンポーネント。


var signature: P256.Signing.ECDSASignature

JSON Web 署名の署名コンポーネント。



サブスクリプション更新情報のプロパティを取得


var jwsRepresentation: String

JWS Compact Serialization 形式で、App Store によって署名されたサブスクリプション更新情報。


var deviceVerification: Data

サブスクリプション更新情報がデバイスに属しているかどうかを確認するために使用するデバイス検証値。


var deviceVerificationNonce: UUID

デバイス検証値を計算するための UUID。


var signedDate: Date

App Store が JWS サブスクリプション更新情報に署名した日付。


var headerData: Data

JWS サブスクリプション更新情報のヘッダコンポーネント。


var payloadData: Data

JWS サブスクリプション更新情報のペイロードコンポーネント。


var signedData: Data

署名が適用されるサブスクリプション更新情報データ。


var signatureData: Data

JWS サブスクリプション更新情報の署名コンポーネント。


var signature: P256.Signing.ECDSASignature

JSON Web 署名の署名コンポーネント。



アプリ取引のプロパティを取得


var jwsRepresentation: String

JWS Compact Serialization 形式で、App Store によって署名されたアプリ取引。


var deviceVerification: Data

アプリ取引がデバイスに属しているかどうかを確認するために使用するデバイス検証値。


var deviceVerificationNonce: UUID

デバイス検証値を計算するための UUID。


var signedDate: Date

App Store が JWS アプリ取引に署名した日付。


var headerData: Data

JWS アプリ取引のヘッダコンポーネント。


var payloadData: Data

JWS アプリ取引のペイロードコンポーネント。


var signedData: Data

署名が適用されるアプリ取引データ。


var signatureData: Data

JWS アプリ取引の署名コンポーネント。


var signature: P256.Signing.ECDSASignature

JSON Web 署名の署名コンポーネント。





関連


以下に準拠


Copyable

CustomDebugStringConvertible

Equatable

Hashable

Sendable





以下も見よ


enum VerificationError

StoreKit JWS 検証のエラーケース。















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ