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

クラス

enum  CodeChallengeMethod
 

公開メンバ関数

 CodeVerifier ()
 
 CodeVerifier (CodeChallengeMethod transformationType)
 
String getCodeChallenge ()
 
String getCodeVerifier ()
 
CodeChallengeMethod getTransformationType ()
 
String toString ()
 

静的公開メンバ関数

static String generateCodeChallenge (CodeChallengeMethod codeChallengeMethod, String codeVerifier)
 
static boolean matched (String codeChallenge, String codeChallengeMethod, String codeVerifier)
 
static boolean matched (String codeChallenge, CodeChallengeMethod codeChallengeMethod, String codeVerifier)
 
static String s256 (String codeVerifier)
 
static String base64UrlEncode (byte[] input)
 
static String generateCodeVerifier ()
 
static boolean isCodeVerifierValid (String codeVerifier)
 

非公開変数類

String codeVerifier
 
String codeChallenge
 
CodeChallengeMethod transformationType
 

静的非公開変数類

static final int MAX_CODE_VERIFIER_LENGTH = 128
 
static final int MIN_CODE_VERIFIER_LENGTH = 43
 
static final byte [] EMPTY_BYTE_ARRAY = new byte[0]
 

詳解

著者
Yuriy Zabrovarnyy
バージョン
0.9, 21/03/2016

構築子と解体子

◆ CodeVerifier() [1/2]

org.xdi.oxauth.model.authorize.CodeVerifier.CodeVerifier ( )
inline
55  {
56  this(CodeChallengeMethod.S256);
57  }

◆ CodeVerifier() [2/2]

org.xdi.oxauth.model.authorize.CodeVerifier.CodeVerifier ( CodeChallengeMethod  transformationType)
inline
59  {
63  }
static String generateCodeChallenge(CodeChallengeMethod codeChallengeMethod, String codeVerifier)
Definition: CodeVerifier.java:65
CodeChallengeMethod transformationType
Definition: CodeVerifier.java:53
String codeChallenge
Definition: CodeVerifier.java:52
String codeVerifier
Definition: CodeVerifier.java:51
static String generateCodeVerifier()
Definition: CodeVerifier.java:99

関数詳解

◆ base64UrlEncode()

static String org.xdi.oxauth.model.authorize.CodeVerifier.base64UrlEncode ( byte []  input)
inlinestatic
94  {
95  Base64 base64 = new Base64(BaseNCodec.MIME_CHUNK_SIZE, EMPTY_BYTE_ARRAY, true);
96  return base64.encodeAsString(input);
97  }
static final byte [] EMPTY_BYTE_ARRAY
Definition: CodeVerifier.java:19

◆ generateCodeChallenge()

static String org.xdi.oxauth.model.authorize.CodeVerifier.generateCodeChallenge ( CodeChallengeMethod  codeChallengeMethod,
String  codeVerifier 
)
inlinestatic
65  {
66  Preconditions.checkNotNull(codeChallengeMethod);
67  Preconditions.checkNotNull(codeVerifier);
68 
69  switch (codeChallengeMethod) {
70  case PLAIN:
71  return codeVerifier;
72  case S256:
73  return s256(codeVerifier);
74  }
75  throw new RuntimeException("Unsupported code challenge method: " + codeChallengeMethod);
76  }
static String s256(String codeVerifier)
Definition: CodeVerifier.java:89
String codeVerifier
Definition: CodeVerifier.java:51

◆ generateCodeVerifier()

static String org.xdi.oxauth.model.authorize.CodeVerifier.generateCodeVerifier ( )
inlinestatic
99  {
100  String alphabetic = "abcdefghijklmnopqrstuvwxyz";
101  String chars = alphabetic + alphabetic.toUpperCase()
102  + "1234567890" + "-._~";
103  String code = RandomStringUtils.random(MAX_CODE_VERIFIER_LENGTH, chars);
104  Preconditions.checkState(isCodeVerifierValid(code));
105  return code;
106  }
static final int MAX_CODE_VERIFIER_LENGTH
Definition: CodeVerifier.java:17
static boolean isCodeVerifierValid(String codeVerifier)
Definition: CodeVerifier.java:108

◆ getCodeChallenge()

String org.xdi.oxauth.model.authorize.CodeVerifier.getCodeChallenge ( )
inline
119  {
120  return codeChallenge;
121  }
String codeChallenge
Definition: CodeVerifier.java:52

◆ getCodeVerifier()

String org.xdi.oxauth.model.authorize.CodeVerifier.getCodeVerifier ( )
inline
123  {
124  return codeVerifier;
125  }
String codeVerifier
Definition: CodeVerifier.java:51

◆ getTransformationType()

CodeChallengeMethod org.xdi.oxauth.model.authorize.CodeVerifier.getTransformationType ( )
inline
127  {
128  return transformationType;
129  }
CodeChallengeMethod transformationType
Definition: CodeVerifier.java:53

◆ isCodeVerifierValid()

static boolean org.xdi.oxauth.model.authorize.CodeVerifier.isCodeVerifierValid ( String  codeVerifier)
inlinestatic
108  {
109  if (codeVerifier == null) {
110  return false;
111  }
112  int length = codeVerifier.length();
113  if (length > MAX_CODE_VERIFIER_LENGTH || length < MIN_CODE_VERIFIER_LENGTH) {
114  return false;
115  }
116  return true;
117  }
static final int MIN_CODE_VERIFIER_LENGTH
Definition: CodeVerifier.java:18
String codeVerifier
Definition: CodeVerifier.java:51
static final int MAX_CODE_VERIFIER_LENGTH
Definition: CodeVerifier.java:17

◆ matched() [1/2]

static boolean org.xdi.oxauth.model.authorize.CodeVerifier.matched ( String  codeChallenge,
String  codeChallengeMethod,
String  codeVerifier 
)
inlinestatic
78  {
79  return matched(codeChallenge, CodeChallengeMethod.fromString(codeChallengeMethod), codeVerifier);
80  }
static boolean matched(String codeChallenge, String codeChallengeMethod, String codeVerifier)
Definition: CodeVerifier.java:78
String codeChallenge
Definition: CodeVerifier.java:52
String codeVerifier
Definition: CodeVerifier.java:51

◆ matched() [2/2]

static boolean org.xdi.oxauth.model.authorize.CodeVerifier.matched ( String  codeChallenge,
CodeChallengeMethod  codeChallengeMethod,
String  codeVerifier 
)
inlinestatic
82  {
83  if (Strings.isNullOrEmpty(codeChallenge) || codeChallengeMethod == null || Strings.isNullOrEmpty(codeVerifier)) {
84  return false;
85  }
86  return generateCodeChallenge(codeChallengeMethod, codeVerifier).equals(codeChallenge);
87  }
static String generateCodeChallenge(CodeChallengeMethod codeChallengeMethod, String codeVerifier)
Definition: CodeVerifier.java:65
String codeChallenge
Definition: CodeVerifier.java:52
String codeVerifier
Definition: CodeVerifier.java:51

◆ s256()

static String org.xdi.oxauth.model.authorize.CodeVerifier.s256 ( String  codeVerifier)
inlinestatic
89  {
90  byte[] sha256 = DigestUtils.sha256(codeVerifier);
91  return base64UrlEncode(sha256);
92  }
String codeVerifier
Definition: CodeVerifier.java:51
static String base64UrlEncode(byte[] input)
Definition: CodeVerifier.java:94

◆ toString()

String org.xdi.oxauth.model.authorize.CodeVerifier.toString ( )
inline
132  {
133  final StringBuilder sb = new StringBuilder();
134  sb.append("CodeVerifier");
135  sb.append("{codeVerifier='").append(codeVerifier).append('\'');
136  sb.append(", codeChallenge='").append(codeChallenge).append('\'');
137  sb.append(", transformationType=").append(transformationType);
138  sb.append('}');
139  return sb.toString();
140  }
CodeChallengeMethod transformationType
Definition: CodeVerifier.java:53
String codeChallenge
Definition: CodeVerifier.java:52
String codeVerifier
Definition: CodeVerifier.java:51

メンバ詳解

◆ codeChallenge

String org.xdi.oxauth.model.authorize.CodeVerifier.codeChallenge
private

◆ codeVerifier

String org.xdi.oxauth.model.authorize.CodeVerifier.codeVerifier
private

◆ EMPTY_BYTE_ARRAY

final byte [] org.xdi.oxauth.model.authorize.CodeVerifier.EMPTY_BYTE_ARRAY = new byte[0]
staticprivate

◆ MAX_CODE_VERIFIER_LENGTH

final int org.xdi.oxauth.model.authorize.CodeVerifier.MAX_CODE_VERIFIER_LENGTH = 128
staticprivate

◆ MIN_CODE_VERIFIER_LENGTH

final int org.xdi.oxauth.model.authorize.CodeVerifier.MIN_CODE_VERIFIER_LENGTH = 43
staticprivate

◆ transformationType

CodeChallengeMethod org.xdi.oxauth.model.authorize.CodeVerifier.transformationType
private

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