Skip to content

Commit b3f895c

Browse files
committed
Fix broken credentials validation
`credentials?` has always returned truthy until this commit. It should be falsy if channel_token is not configured.
1 parent de3c8c2 commit b3f895c

File tree

3 files changed

+13
-37
lines changed

3 files changed

+13
-37
lines changed

lib/line/bot.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
require 'line/bot/util'
1616
require 'line/bot/client'
1717
require 'line/bot/event'
18-
require 'line/bot/api/errors'
1918
require 'line/bot/api'
2019
require 'line/bot/request'
2120
require 'line/bot/httpclient'

lib/line/bot/api/errors.rb

Lines changed: 0 additions & 22 deletions
This file was deleted.

lib/line/bot/client.rb

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# under the License.
1414

1515
require 'line/bot/request'
16-
require 'line/bot/api/errors'
1716
require 'base64'
1817
require 'net/http'
1918
require 'openssl'
@@ -57,18 +56,14 @@ def credentials
5756
}
5857
end
5958

60-
def credentials?
61-
credentials.values.all?
62-
end
63-
6459
# Push messages to line server and to user.
6560
#
6661
# @param user_id [String] User's identifiers
6762
# @param messages [Hash or Array]
6863
#
6964
# @return [Net::HTTPResponse]
7065
def push_message(user_id, messages)
71-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
66+
channel_token_required
7267

7368
messages = [messages] if messages.is_a?(Hash)
7469

@@ -91,7 +86,7 @@ def push_message(user_id, messages)
9186
#
9287
# @return [Net::HTTPResponse]
9388
def reply_message(token, messages)
94-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
89+
channel_token_required
9590

9691
messages = [messages] if messages.is_a?(Hash)
9792

@@ -114,7 +109,7 @@ def reply_message(token, messages)
114109
#
115110
# @return [Net::HTTPResponse]
116111
def multicast(to, messages)
117-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
112+
channel_token_required
118113

119114
to = [to] if to.is_a?(String)
120115
messages = [messages] if messages.is_a?(Hash)
@@ -137,7 +132,7 @@ def multicast(to, messages)
137132
#
138133
# @return [Net::HTTPResponse]
139134
def broadcast(messages)
140-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
135+
channel_token_required
141136

142137
messages = [messages] if messages.is_a?(Hash)
143138

@@ -153,7 +148,7 @@ def broadcast(messages)
153148
end
154149

155150
def leave_group(group_id)
156-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
151+
channel_token_required
157152

158153
request = Request.new do |config|
159154
config.httpclient = httpclient
@@ -166,7 +161,7 @@ def leave_group(group_id)
166161
end
167162

168163
def leave_room(room_id)
169-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
164+
channel_token_required
170165

171166
request = Request.new do |config|
172167
config.httpclient = httpclient
@@ -473,7 +468,7 @@ def get_quota_consumption
473468
#
474469
# @return [Net::HTTPResponse]
475470
def get(endpoint_path)
476-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
471+
channel_token_required
477472

478473
request = Request.new do |config|
479474
config.httpclient = httpclient
@@ -491,7 +486,7 @@ def get(endpoint_path)
491486
#
492487
# @return [Net::HTTPResponse]
493488
def post(endpoint_path, payload = nil)
494-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
489+
channel_token_required
495490

496491
request = Request.new do |config|
497492
config.httpclient = httpclient
@@ -510,7 +505,7 @@ def post(endpoint_path, payload = nil)
510505
#
511506
# @return [Net::HTTPResponse]
512507
def delete(endpoint_path)
513-
raise Line::Bot::API::InvalidCredentialsError, 'Invalidates credentials' unless credentials?
508+
channel_token_required
514509

515510
request = Request.new do |config|
516511
config.httpclient = httpclient
@@ -576,6 +571,10 @@ def secure_compare(a, b)
576571
b.each_byte { |byte| res |= byte ^ l.shift }
577572
res == 0
578573
end
574+
575+
def channel_token_required
576+
raise ArgumentError, '`channel_token` is not configured' unless channel_token
577+
end
579578
end
580579
end
581580
end

0 commit comments

Comments
 (0)