Skip to content
Snippets Groups Projects

Add Demonstrating Proof of Possession (DPoP) for Personal Access Tokens

Closed Ameya Darshan requested to merge ameya-dpop-backend into master
2 files
+ 12
12
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -224,20 +224,18 @@ def validate_dpop_header_count
end
def convert_to_pem_key(key)
begin
tmp_file = Tempfile.new('openssh_key')
tmp_file.write(key)
tmp_file.rewind
tmp_file.close
tmp_file = Tempfile.new('openssh_key')
tmp_file.write(key)
tmp_file.rewind
tmp_file.close
result = Gitlab::Popen.popen(%W[ssh-keygen -e -m PEM -f #{tmp_file.path}])[0]
result = Gitlab::Popen.popen(%W[ssh-keygen -e -m PEM -f #{tmp_file.path}])[0]
OpenSSL::PKey.read(result)
rescue => e
OpenSSL::PKey.read(result)
rescue => e # rubocop:disable Style/RescueStandardError -- this is to rescue any OpenSSL errors
raise DpopValidationError, "Unable to convert to PEM: #{e}"
ensure
tmp_file.unlink
end
end
# This returns a deploy token, not a user since a deploy token does not
Loading