gluu
公開メンバ関数 | 静的公開メンバ関数 | 静的非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.fido.u2f.ClientDataValidationService クラス
org.xdi.oxauth.service.fido.u2f.ClientDataValidationService 連携図
Collaboration graph

公開メンバ関数

void checkContent (ClientData clientData, String[] types, String challenge, Set< String > facets) throws BadInputException
 

静的公開メンバ関数

static Set< String > canonicalizeOrigins (Set< String > origins)
 
static String canonicalizeOrigin (String url)
 

静的非公開メンバ関数

static void verifyOrigin (String origin, Set< String > allowedOrigins) throws BadInputException
 

非公開変数類

Logger log
 

詳解

Client data validation service

著者
Yuriy Movchan Date: 05/20/2015

関数詳解

◆ canonicalizeOrigin()

static String org.xdi.oxauth.service.fido.u2f.ClientDataValidationService.canonicalizeOrigin ( String  url)
inlinestatic
70  {
71  try {
72  URI uri = new URI(url);
73  if (uri.getAuthority() == null) {
74  return url;
75  }
76  return uri.getScheme() + "://" + uri.getAuthority();
77  } catch (URISyntaxException e) {
78  throw new IllegalArgumentException("Specified bad origin", e);
79  }
80  }

◆ canonicalizeOrigins()

static Set<String> org.xdi.oxauth.service.fido.u2f.ClientDataValidationService.canonicalizeOrigins ( Set< String >  origins)
inlinestatic
62  {
63  Set<String> result = new HashSet<String>();
64  for (String origin : origins) {
65  result.add(canonicalizeOrigin(origin));
66  }
67  return result;
68  }
static String canonicalizeOrigin(String url)
Definition: ClientDataValidationService.java:70

◆ checkContent()

void org.xdi.oxauth.service.fido.u2f.ClientDataValidationService.checkContent ( ClientData  clientData,
String []  types,
String  challenge,
Set< String >  facets 
) throws BadInputException
inline
35  {
36  if (!ArrayUtils.contains(types, clientData.getTyp())) {
37  throw new BadInputException("Bad clientData: wrong typ " + clientData.getTyp());
38  }
39 
40  if (!challenge.equals(clientData.getChallenge())) {
41  throw new BadInputException("Bad clientData: wrong challenge");
42  }
43 
44  if (facets != null && !facets.isEmpty()) {
45  Set<String> allowedFacets = canonicalizeOrigins(facets);
46  String canonicalOrigin;
47  try {
48  canonicalOrigin = canonicalizeOrigin(clientData.getOrigin());
49  } catch (RuntimeException e) {
50  throw new BadInputException("Bad clientData: Malformed origin", e);
51  }
52  verifyOrigin(canonicalOrigin, allowedFacets);
53  }
54  }
static void verifyOrigin(String origin, Set< String > allowedOrigins)
Definition: ClientDataValidationService.java:56
static String canonicalizeOrigin(String url)
Definition: ClientDataValidationService.java:70
static Set< String > canonicalizeOrigins(Set< String > origins)
Definition: ClientDataValidationService.java:62

◆ verifyOrigin()

static void org.xdi.oxauth.service.fido.u2f.ClientDataValidationService.verifyOrigin ( String  origin,
Set< String >  allowedOrigins 
) throws BadInputException
inlinestaticprivate
56  {
57  if (!allowedOrigins.contains(origin)) {
58  throw new BadInputException(origin + " is not a recognized facet for this application");
59  }
60  }

メンバ詳解

◆ log

Logger org.xdi.oxauth.service.fido.u2f.ClientDataValidationService.log
private

このクラス詳解は次のファイルから抽出されました: