gluu
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.push.sns.PushSnsService クラス
org.xdi.oxauth.service.push.sns.PushSnsService 連携図
Collaboration graph

公開メンバ関数

AmazonSNS createSnsClient (String accessKey, String secretKey, String region)
 
String createPlatformArn (AmazonSNS snsClient, String platformApplicationArn, String token, User user)
 
String getCustomUserData (User user)
 
PublishResult sendPushMessage (AmazonSNS snsClient, PushPlatform platform, String targetArn, Map< String, Object > customAppMessageMap, Map< String, MessageAttributeValue > messageAttributes) throws IOException
 
PublishResult sendPushMessage (AmazonSNS snsClient, PushPlatform platform, String targetArn, String message, Map< String, MessageAttributeValue > messageAttributes) throws IOException
 

非公開変数類

EncryptionService encryptionService
 
AppConfiguration appConfiguration
 
PersistenceEntryManager ldapEntryManager
 

詳解

Provides operations to send AWS SNS push messages

著者
Yuriy Movchan Date: 08/31/2017

関数詳解

◆ createPlatformArn()

String org.xdi.oxauth.service.push.sns.PushSnsService.createPlatformArn ( AmazonSNS  snsClient,
String  platformApplicationArn,
String  token,
User  user 
)
inline
57  {
58  CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
59  platformEndpointRequest.setPlatformApplicationArn(platformApplicationArn);
60  platformEndpointRequest.setToken(token);
61 
62  String customUserData = getCustomUserData(user);
63  platformEndpointRequest.setCustomUserData(customUserData);
64 
65  CreatePlatformEndpointResult platformEndpointResult = snsClient.createPlatformEndpoint(platformEndpointRequest);
66 
67  return platformEndpointResult.getEndpointArn();
68  }
String getCustomUserData(User user)
Definition: PushSnsService.java:70

◆ createSnsClient()

AmazonSNS org.xdi.oxauth.service.push.sns.PushSnsService.createSnsClient ( String  accessKey,
String  secretKey,
String  region 
)
inline
47  {
48  String decryptedAccessKey = encryptionService.decrypt(accessKey, true);
49  String decryptedSecretKey = encryptionService.decrypt(secretKey, true);
50 
51  BasicAWSCredentials credentials = new BasicAWSCredentials(decryptedAccessKey, decryptedSecretKey);
52  AmazonSNS snsClient = AmazonSNSClientBuilder.standard().withRegion(Regions.fromName(region)).withCredentials(new AWSStaticCredentialsProvider(credentials)).build();
53 
54  return snsClient;
55  }
EncryptionService encryptionService
Definition: PushSnsService.java:39
String decrypt(String encryptedString)
Definition: EncryptionService.java:36

◆ getCustomUserData()

String org.xdi.oxauth.service.push.sns.PushSnsService.getCustomUserData ( User  user)
inline
70  {
71  String customUserData = String.format("Issuer: %s, user: %s, date: %s", appConfiguration.getIssuer(), user.getUserId(),
72  ldapEntryManager.encodeTime(new Date()));
73  return customUserData;
74  }
PersistenceEntryManager ldapEntryManager
Definition: PushSnsService.java:45
AppConfiguration appConfiguration
Definition: PushSnsService.java:42
String getIssuer()
Definition: AppConfiguration.java:274

◆ sendPushMessage() [1/2]

PublishResult org.xdi.oxauth.service.push.sns.PushSnsService.sendPushMessage ( AmazonSNS  snsClient,
PushPlatform  platform,
String  targetArn,
Map< String, Object >  customAppMessageMap,
Map< String, MessageAttributeValue >  messageAttributes 
) throws IOException
inline
76  {
77  Map<String, Object> appMessageMap = new HashMap<String, Object>();
78 
79  if (platform == PushPlatform.GCM) {
80  appMessageMap.put("collapse_key", "single");
81  appMessageMap.put("delay_while_idle", true);
82  appMessageMap.put("time_to_live", 30);
83  appMessageMap.put("dry_run", false);
84  }
85 
86  if (customAppMessageMap != null) {
87  appMessageMap.putAll(customAppMessageMap);
88  }
89 
90  String message = ServerUtil.asJson(appMessageMap);
91 
92  return sendPushMessage(snsClient, platform, targetArn, message, messageAttributes);
93  }
PublishResult sendPushMessage(AmazonSNS snsClient, PushPlatform platform, String targetArn, Map< String, Object > customAppMessageMap, Map< String, MessageAttributeValue > messageAttributes)
Definition: PushSnsService.java:76

◆ sendPushMessage() [2/2]

PublishResult org.xdi.oxauth.service.push.sns.PushSnsService.sendPushMessage ( AmazonSNS  snsClient,
PushPlatform  platform,
String  targetArn,
String  message,
Map< String, MessageAttributeValue >  messageAttributes 
) throws IOException
inline
96  {
97  Map<String, String> messageMap = new HashMap<String, String>();
98  messageMap.put(platform.name(), message);
99  message = ServerUtil.asJson(messageMap);
100 
101  PublishRequest publishRequest = new PublishRequest();
102  publishRequest.setMessageStructure("json");
103 
104  if (messageAttributes != null) {
105  publishRequest.setMessageAttributes(messageAttributes);
106  }
107 
108  publishRequest.setTargetArn(targetArn);
109  publishRequest.setMessage(message);
110 
111  PublishResult publishResult = snsClient.publish(publishRequest);
112 
113  return publishResult;
114  }

メンバ詳解

◆ appConfiguration

AppConfiguration org.xdi.oxauth.service.push.sns.PushSnsService.appConfiguration
private

◆ encryptionService

EncryptionService org.xdi.oxauth.service.push.sns.PushSnsService.encryptionService
private

◆ ldapEntryManager

PersistenceEntryManager org.xdi.oxauth.service.push.sns.PushSnsService.ldapEntryManager
private

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